This commit was manufactured by cvs2svn to create branch 'unlabeled-1.6.2'.

Sprout from master 2001-12-10 04:02:57 UTC Dejan Glozic <dejan> '*** empty log message ***'
Delete:
    ant/org.eclipse.ant.core/.classpath
    ant/org.eclipse.ant.core/.cvsignore
    ant/org.eclipse.ant.core/.vcm_meta
    ant/org.eclipse.ant.core/about.html
    ant/org.eclipse.ant.core/ant.jar
    ant/org.eclipse.ant.core/antsrc.zip
    ant/org.eclipse.ant.core/build.properties
    ant/org.eclipse.ant.core/buildnotes_ant.html
    ant/org.eclipse.ant.core/doc/hglegal.htm
    ant/org.eclipse.ant.core/doc/ngibmcpy.gif
    ant/org.eclipse.ant.core/doc/org_eclipse_ant_core.html
    ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antObjects.html
    ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTasks.html
    ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTypes.html
    ant/org.eclipse.ant.core/jakarta-ant-1.4.1-optional.jar
    ant/org.eclipse.ant.core/jakarta-ant-1.4.1-optionalsrc.zip
    ant/org.eclipse.ant.core/os/linux/libcore_2_0_5.so
    ant/org.eclipse.ant.core/os/win32/core_2_0_5.dll
    ant/org.eclipse.ant.core/plugin.properties
    ant/org.eclipse.ant.core/plugin.xml
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntPlugin.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommaPatternSet.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommandDataType.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ConvertPath.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CopyProject.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CreateProject.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/DeleteProject.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseAnt.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCompilerAdapterFactory.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCopy.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseFileUtils.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseJavac.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseProject.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntRunnerListener.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IncrementalBuild.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/MoveProject.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Policy.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/RefreshLocal.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/XercesRegexpMatcher.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/messages.properties
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html
    ant/org.eclipse.ant.ui/.classpath
    ant/org.eclipse.ant.ui/.cvsignore
    ant/org.eclipse.ant.ui/.vcm_meta
    ant/org.eclipse.ant.ui/about.html
    ant/org.eclipse.ant.ui/build.properties
    ant/org.eclipse.ant.ui/icons/basic/clcl16/clear.gif
    ant/org.eclipse.ant.ui/icons/basic/clcl16/hideOrShowTree.gif
    ant/org.eclipse.ant.ui/icons/basic/clcl16/showOnlySelectedText.gif
    ant/org.eclipse.ant.ui/icons/basic/cview/ant_view.gif
    ant/org.eclipse.ant.ui/icons/basic/eview/ant_view.gif
    ant/org.eclipse.ant.ui/icons/basic/wizban/ant_wiz.gif
    ant/org.eclipse.ant.ui/icons/full/cview16/ant_view.gif
    ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif
    ant/org.eclipse.ant.ui/icons/full/wizban/ant_wiz.gif
    ant/org.eclipse.ant.ui/plugin.properties
    ant/org.eclipse.ant.ui/plugin.xml
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntAction.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsole.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsolePreferencePage.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchDropDownAction.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizardPage.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPreferencesPage.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPropertyChangeListener.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeContentProvider.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeLabelProvider.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntUIPlugin.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/BuildCanceledException.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/IAntPreferenceConstants.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/OutputStructureElement.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/Policy.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/RunAntActionDelegate.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListContentProvider.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListLabelProvider.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/UIBuildListener.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/messages.properties
    platform/org.eclipse.sdk/.vcm_meta
    platform/org.eclipse.sdk/about.html
    platform/org.eclipse.sdk/about_prod.gif
    platform/org.eclipse.sdk/about_prod_basic.gif
    platform/org.eclipse.sdk/build.properties
    platform/org.eclipse.sdk/platform.ini
    platform/org.eclipse.sdk/platform.properties
    platform/org.eclipse.sdk/plugin.properties
    platform/org.eclipse.sdk/plugin.xml
    platform/org.eclipse.sdk/prod.gif
    platform/org.eclipse.sdk/prod_basic.gif
    platform/org.eclipse.sdk/product.ini
    platform/org.eclipse.sdk/product.properties
    platform/org.eclipse.sdk/welcome.xml
    update/org.eclipse.update.core/.classpath
    update/org.eclipse.update.core/.cvsignore
    update/org.eclipse.update.core/.options
    update/org.eclipse.update.core/.vcm_meta
    update/org.eclipse.update.core/Scrapbook.jpage
    update/org.eclipse.update.core/about.html
    update/org.eclipse.update.core/build.properties
    update/org.eclipse.update.core/plugin.properties
    update/org.eclipse.update.core/plugin.xml
    update/org.eclipse.update.core/src/org/eclipse/core/boot/BootLoader2.java
    update/org.eclipse.update.core/src/org/eclipse/core/boot/IPlatformConfiguration.java
    update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/InternalBootLoader2.java
    update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/PlatformConfiguration.java
    update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/Policy.java
    update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/messages.properties
    update/org.eclipse.update.core/src/org/eclipse/update/core/IActivity.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/ICategory.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IConfigurationPolicy.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IConfigurationSite.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IDataEntry.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IFeature.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureReference.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IImport.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IInfo.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallConfiguration.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallConfigurationChangedListener.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallHandlerReference.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/ILocalSite.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/ILocalSiteChangedListener.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IPluginContainer.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/IPluginEntry.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/ISite.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/ISiteChangedListener.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/SiteManager.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/Version.java
    update/org.eclipse.update.core/src/org/eclipse/update/core/VersionedIdentifier.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Assert.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Category.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationActivity.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationSite.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DataEntry.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DefaultImport.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Feature.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutable.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackaged.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureParser.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureReference.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/IWritable.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Info.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfiguration.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfigurationParser.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ListenersList.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PluginEntry.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Site.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFile.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteLocal.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteLocalParser.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteParser.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURL.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Writer.java
    update/org.eclipse.update.examples/.classpath
    update/org.eclipse.update.examples/.cvsignore
    update/org.eclipse.update.examples/.vcm_meta
    update/org.eclipse.update.examples/about.html
    update/org.eclipse.update.examples/build.properties
    update/org.eclipse.update.examples/doc-html/hglegal.htm
    update/org.eclipse.update.examples/doc-html/ngibmcpy.gif
    update/org.eclipse.update.examples/doc-html/update_install_ex.html
    update/org.eclipse.update.examples/install/components/install.index
    update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install.properties
    update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install.xml
    update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install_en.properties
    update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/org.eclipse.update.examples.component_1.0.0.jar
    update/org.eclipse.update.examples/plugin.xml
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/ExamplesPlugin.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/ExamplesPluginResources.properties
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/SampleAction.java
    update/org.eclipse.update.tests.core/.classpath
    update/org.eclipse.update.tests.core/.cvsignore
    update/org.eclipse.update.tests.core/.vcm_meta
    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/helpFeature.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/org.eclipse.pde.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/info/img/top_titlsm.gif
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/info/img/wel_ml.jpg
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/info/siteInfo.html
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/install/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/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/install/features/feature3/feature.xml
    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/dataEntrySiteTest/file1.zip
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/install/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/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/install/features/feature3/feature.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/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/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/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.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/api/AllAPITests.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/TestLocalSiteAPI.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/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/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/TestSiteGeneration.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/regularInstall/AllRegularInstallTests.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/TestLocalSite.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.ui.forms/.classpath
    update/org.eclipse.update.ui.forms/.cvsignore
    update/org.eclipse.update.ui.forms/.vcm_meta
    update/org.eclipse.update.ui.forms/about.html
    update/org.eclipse.update.ui.forms/build.properties
    update/org.eclipse.update.ui.forms/plugin.xml
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/AbstractForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/AbstractSectionForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/CustomWorkbook.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/ExpandableGroup.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormButton.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormEntry.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormLabel.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormSection.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormWidgetFactory.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/HTMLTableLayout.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/HyperlinkAdapter.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/HyperlinkHandler.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormPage.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormSelectionListener.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormTextListener.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormWorkbook.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IHyperlinkListener.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/NoTabsWorkbook.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/ScrollableSectionForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/SectionChangeManager.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/SectionForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/SelectableFormLabel.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/TableData.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/TableLayoutTest.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/WebForm.java
    update/org.eclipse.update.ui/.classpath
    update/org.eclipse.update.ui/.cvsignore
    update/org.eclipse.update.ui/.vcm_meta
    update/org.eclipse.update.ui/about.html
    update/org.eclipse.update.ui/build.properties
    update/org.eclipse.update.ui/html/default.css
    update/org.eclipse.update.ui/html/feature.html
    update/org.eclipse.update.ui/html/images/banner.gif
    update/org.eclipse.update.ui/html/images/provider.gif
    update/org.eclipse.update.ui/html/images/topic.gif
    update/org.eclipse.update.ui/html/index.html
    update/org.eclipse.update.ui/icons/basic/obj16/comp_mf_obj.gif
    update/org.eclipse.update.ui/icons/full/clcl16/backward_nav.gif
    update/org.eclipse.update.ui/icons/full/clcl16/forward_nav.gif
    update/org.eclipse.update.ui/icons/full/clcl16/go_nav.gif
    update/org.eclipse.update.ui/icons/full/clcl16/home_nav.gif
    update/org.eclipse.update.ui/icons/full/clcl16/print_nav.gif
    update/org.eclipse.update.ui/icons/full/clcl16/refresh_nav.gif
    update/org.eclipse.update.ui/icons/full/clcl16/stop_nav.gif
    update/org.eclipse.update.ui/icons/full/dlcl16/backward_nav.gif
    update/org.eclipse.update.ui/icons/full/dlcl16/forward_nav.gif
    update/org.eclipse.update.ui/icons/full/dlcl16/go_nav.gif
    update/org.eclipse.update.ui/icons/full/dlcl16/home_nav.gif
    update/org.eclipse.update.ui/icons/full/dlcl16/print_nav.gif
    update/org.eclipse.update.ui/icons/full/dlcl16/refresh_nav.gif
    update/org.eclipse.update.ui/icons/full/dlcl16/stop_nav.gif
    update/org.eclipse.update.ui/icons/full/elcl16/backward_nav.gif
    update/org.eclipse.update.ui/icons/full/elcl16/forward_nav.gif
    update/org.eclipse.update.ui/icons/full/elcl16/go_nav.gif
    update/org.eclipse.update.ui/icons/full/elcl16/home_nav.gif
    update/org.eclipse.update.ui/icons/full/elcl16/print_nav.gif
    update/org.eclipse.update.ui/icons/full/elcl16/refresh_nav.gif
    update/org.eclipse.update.ui/icons/full/elcl16/stop_nav.gif
    update/org.eclipse.update.ui/icons/full/obj16/cd_obj.gif
    update/org.eclipse.update.ui/icons/full/obj16/config_obj.gif
    update/org.eclipse.update.ui/icons/full/obj16/eclipse2_obj.gif
    update/org.eclipse.update.ui/icons/full/obj16/eclipse_obj.gif
    update/org.eclipse.update.ui/icons/full/obj16/feature_obj.gif
    update/org.eclipse.update.ui/icons/full/obj16/site_obj.gif
    update/org.eclipse.update.ui/icons/full/obj16/uninstall_obj.gif
    update/org.eclipse.update.ui/icons/full/obj16/updates_obj.gif
    update/org.eclipse.update.ui/icons/full/ovr16/current_co.gif
    update/org.eclipse.update.ui/icons/full/ovr16/install_co.gif
    update/org.eclipse.update.ui/icons/full/ovr16/installable_co.gif
    update/org.eclipse.update.ui/icons/full/ovr16/linked_co.gif
    update/org.eclipse.update.ui/icons/full/ovr16/uninstall_co.gif
    update/org.eclipse.update.ui/icons/full/view16/registry.gif
    update/org.eclipse.update.ui/icons/full/wizban/form_banner.gif
    update/org.eclipse.update.ui/icons/full/wizban/form_underline.gif
    update/org.eclipse.update.ui/icons/full/wizban/install_wiz.gif
    update/org.eclipse.update.ui/icons/full/wizban/provider.gif
    update/org.eclipse.update.ui/icons/full/wizban/topic.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/UpdateUIPlugin.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginImages.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/manager/ActivitySection.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/BaseTreeView.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CDROMForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CDROMPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CategoryForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CategoryPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsHistory.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsHistoryItem.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsView.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/HistoryView.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/InstallableSiteForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/InstallableSitePage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSiteForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSitePage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSiteView.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/MainForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/MainPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/NewSiteDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/RevertSection.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteBookmarkPropertyPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteBookmarkPropertySource.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SitePage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteView.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SnapshotForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SnapshotPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateAdapterFactory.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateManagerAction.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatePerspective.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateSearchContribution.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateSearchProgressMonitor.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatesForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatesPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/BrowserControlSite.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/BrowserPage.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/IBrowserListener.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/IUpdateForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/IUpdateFormPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/MultiPageView.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/PropertyWebForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateFormPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateSection.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateWebForm.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/WebBrowser.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/InstallWizardDialog.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/TargetPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/AvailableUpdates.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/BackgroundProgressMonitor.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/BackgroundThread.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/CDROM.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/CategorizedFeature.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ChecklistJob.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ISiteWrapper.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/IUpdateModelChangedListener.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ModelObject.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/MonitorAdapter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/SiteBookmark.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/SiteCategory.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateModel.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateSearchOperation.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateSearchSite.java
    update/org.eclipse.update/.classpath
    update/org.eclipse.update/.cvsignore
    update/org.eclipse.update/.vcm_meta
    update/org.eclipse.update/about.html
    update/org.eclipse.update/build.properties
    update/org.eclipse.update/icons/full/ctool16/new.gif
    update/org.eclipse.update/icons/full/ctool16/update.gif
    update/org.eclipse.update/icons/full/wizban/new.gif
    update/org.eclipse.update/icons/full/wizban/revert.gif
    update/org.eclipse.update/icons/full/wizban/update.gif
    update/org.eclipse.update/plugin.properties
    update/org.eclipse.update/plugin.xml
    update/org.eclipse.update/plugin.xml.off
    update/org.eclipse.update/src/org/eclipse/update/internal/core/ISessionDefiner.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/IUMLock.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMLock.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionDefinerReferenceUpdate.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManager.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerEntry.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerMessage.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerOperation.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerParcel.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerSession.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/URLHandler.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManager.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerException.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerStrings.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerURLComparator.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/updatemanagerstrings.properties
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/AuthorizationDatabase.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/Installation.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationDialog.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationResult.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationService.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerifier.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/KeyStores.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/Main.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplication.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterface.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterfaceProperties.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationWindow.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialog.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialogAction.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMPreferencePageSettings.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizard.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageComplete.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstallable.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstalling.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistory.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistoryComplete.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLocations.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLComplete.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstall.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstallable.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstalling.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPersistentProperties.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentNew.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentRevert.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentURLInstall.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentUpdate.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItem.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItemComparator.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardURLNamePairComparator.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UserValidationDialog.java
diff --git a/ant/org.eclipse.ant.core/.classpath b/ant/org.eclipse.ant.core/.classpath
deleted file mode 100644
index ad5d2b7..0000000
--- a/ant/org.eclipse.ant.core/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="var" path="TARGET/org.apache.xerces/xerces.jar"/>
-    <classpathentry kind="lib" path="ant.jar" sourcepath="/org.eclipse.ant.core/antsrc.zip"/>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="lib" path="jakarta-ant-1.4.1-optional.jar" sourcepath="/org.eclipse.ant.core/jakarta-ant-1.4.1-optionalsrc.zip"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ant/org.eclipse.ant.core/.cvsignore b/ant/org.eclipse.ant.core/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/ant/org.eclipse.ant.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/.vcm_meta b/ant/org.eclipse.ant.core/.vcm_meta
deleted file mode 100644
index 02d5283..0000000
--- a/ant/org.eclipse.ant.core/.vcm_meta
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<reference project-name="org.eclipse.core.resources"/>

-	<reference project-name="org.eclipse.core.boot"/>

-	<reference project-name="org.eclipse.core.runtime"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-</project-description>

diff --git a/ant/org.eclipse.ant.core/about.html b/ant/org.eclipse.ant.core/about.html
deleted file mode 100644
index 7c50242..0000000
--- a/ant/org.eclipse.ant.core/about.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<html>

-<head>

-<meta name="about-version" content="2.0">

-<meta name="date" content="011205">

-<meta name="third-party" content="yes">

-<meta name="other-licenses" content="yes">

-<meta name="cryptography" content="no">

-<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>

-<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" face="Arial,Helvetica">About This Plug-in</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

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

-<h3>License</h3>

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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> ("CPL").  For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>

-

-<h3>Third Party Content</h3>

-

-<p>The Content includes items that have been sourced from third parties as follows:</p>

-

-<p><b>Ant and Ant Optional Tasks 1.4.1</b></p>

-<p>The plug-in is based on software developed by The Apache Software Foundation as part of the Jakarta project.

-The Ant binary code in ant.jar and the Ant Optional Tasks binary code in jakarta-ant-1.4.1-optional.jar are included with the plug-in

-with no modifications.  The Ant source code is located in antsrc.zip.  The Ant Optional Tasks source code is located in

-jakarta-ant-1.4.1-optionalsrc.zip.

- 

-<p>The following classes contained in antsupport.jar and antsupportsrc.zip ("Ant Derivative Work") are based on Ant code:</p>

-<ul>

-	<li>AntRunner</li>

-	<li>CommaPatternSet</li>

-	<li>EclipseAnt</li>

-	<li>EclipseCopy</li>

-	<li>EclipseProject</li>

-	<li>EclipseJavac</li>

-</ul>

-

-<p>The Ant and Ant Optional Tasks binary and the Ant code forming the basis of the Ant Derivative Work are all:

-

-<blockquote>Copyright (c) 1999 The Apache Software Foundation. All rights reserved.</blockquote>

-

-<p>Your use of the Ant, Ant Optional Tasks code and Ant Derivative Work code, is subject to the terms and conditions of the

-<a href="http://jakarta.apache.org/ant/manual/LICENSE">Apache Software License 1.1</a>.

-More specifically:</p>

-<blockquote>

-	1. Redistributions of source code must retain the above copyright notice, this list of<br>

-	conditions and the following disclaimer.<br>

-<br>

-	2. Redistributions in binary form must reproduce the above copyright notice, this list of<br>

-	conditions and the following disclaimer in the documentation and/or other materials<br>

-	provided with the distribution.<br>

-<br>

-	3. The end-user documentation included with the redistribution, if any, must include the<br>

-	following acknowledgment:<br>

-	<blockquote>

-		&quot;This product includes software developed by the Apache Software Foundation<br>

-		(<a href="http://www.apache.org/">http://www.apache.org/</a>).&quot;

-	</blockquote>

-	Alternately, this acknowledgment may appear in the software itself, if and wherever such<br>

-	third-party acknowledgments normally appear.<br>

-<br>

-	4. The names &quot;Ant&quot; and &quot;Apache Software Foundation&quot; must not be used to endorse or<br>

-	promote products derived from this software without prior written permission. For written<br>

-	permission, please contact <a href="mailto:apache@apache.org">apache@apache.org</a>.<br>

-<br>

-	5. Products derived from this software may not be called &quot;Apache&quot;, nor may &quot;Apache&quot; appear<br>

-	in their name, without prior written permission of the Apache Software Foundation.<br>

-<br>

-	THIS SOFTWARE IS PROVIDED &quot;AS IS&quot; AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT<br>

-	LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR<br>

-	PURPOSE ARE	DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS<br>

-	CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR<br>

-	CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR<br>

-	SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON<br>

-	ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,	OR TORT (INCLUDING<br>

-	NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT	OF THE USE OF THIS SOFTWARE, EVEN IF<br>

-	ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

-</blockquote>

-

-<h3>Contributions</h3>

-

-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise

-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such

-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>

-

-<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or

-other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the

-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available

-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also

-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of

-the CPL.</p>

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

-</body>

-</html>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/ant.jar b/ant/org.eclipse.ant.core/ant.jar
deleted file mode 100644
index 8ad84e3..0000000
--- a/ant/org.eclipse.ant.core/ant.jar
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/antsrc.zip b/ant/org.eclipse.ant.core/antsrc.zip
deleted file mode 100644
index 81a6ed7..0000000
--- a/ant/org.eclipse.ant.core/antsrc.zip
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/build.properties b/ant/org.eclipse.ant.core/build.properties
deleted file mode 100644
index fecf8cd..0000000
--- a/ant/org.eclipse.ant.core/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-source.antsupport.jar=src/

-bin.includes=os/,example.*,plugin.xml,*.jar,*.zip,plugin.properties,about.html

-javadoc.packages=org.eclipse.*
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/buildnotes_ant.html b/ant/org.eclipse.ant.core/buildnotes_ant.html
deleted file mode 100644
index 867eec9..0000000
--- a/ant/org.eclipse.ant.core/buildnotes_ant.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-   <meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; I) [Netscape]">

-   <title>Eclipse Platform Release Notes Core</title>

-<!-- saved from url=(0079)http://home.ott.oti.com/hubba/drops/sdk/latest-javadoc/doc/buildnotes_core.html -->

-<!-- saved from url=(0079)http://home.ott.oti.com/hubba/drops/sdk/latest-javadoc/doc/buildnotes_core.html -->

-</head>

-<body>

-

-<h1>

-Eclipse Platform Build Notes<br>

-Ant</h1>

-Eclipse SDK Build 20011127 (v213)

-<h2>

-<a NAME="What's new"></a>What's new in this drop</h2>

-

-<h3>

-<a NAME="API changes"></a>API changes</h3>

-

-<ul>

-<li>

-None.</li>

-</ul>

-

-<h3>

-<a NAME="Other highlights"></a>Other highlights</h3>

-

-<ul>

-<li>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5391">5391</a>&nbsp;

-Upgrade to Ant 1.4.1</li>

-</ul>

-

-<h1>

-

-<hr WIDTH="100%">Eclipse Platform Build Notes<br>

-Ant</h1>

-Eclipse SDK Build 20011120 (v211)

-<h2>

-<a NAME="What's new"></a>What's new in this drop</h2>

-

-<h3>

-<a NAME="API changes"></a>API changes</h3>

-

-<ul>

-<li>

-None.</li>

-</ul>

-

-<h3>

-<a NAME="Other highlights"></a>Other highlights</h3>

-

-<ul>

-<li>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5331">5331</a>&nbsp;

-Ant does not override optional tasks with org.eclipse.ant.core.antTasks

-extension point</li>

-</ul>

-

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/doc/hglegal.htm b/ant/org.eclipse.ant.core/doc/hglegal.htm
deleted file mode 100644
index b071dbd..0000000
--- a/ant/org.eclipse.ant.core/doc/hglegal.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-   <meta name="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2001. All Rights Reserved.

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/doc/ngibmcpy.gif b/ant/org.eclipse.ant.core/doc/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/ant/org.eclipse.ant.core/doc/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core.html b/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core.html
deleted file mode 100644
index a82e148..0000000
--- a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-   <title>Ant Build Tool Core extension-points</title>

-</head>

-<body link="#0000FF" vlink="#800080">

-

-<center>

-<h1>

-Ant Build Tool Core Plug-in</h1></center>

-This document lists all of the extension points that the Ant Build Tool Core

-plug-in makes available to tool developers.

-<p>

-<hr WIDTH="100%">

-<h1>

-General Extension Points</h1>

-The following extension points can be used to extend the fundamental capabilities

-of the Ant core plug-in:

-<ul>

-<li>

-<a href="org_eclipse_ant_core_antObjects.html">org.eclipse.ant.core.antObjects</a></li>

-

-<li>

-<a href="org_eclipse_ant_core_antTasks.html">org.eclipse.ant.core.antTasks</a></li>

-

-<li>

-<a href="org_eclipse_ant_core_antTypes.html">org.eclipse.ant.core.antTypes</a></li>

-</ul>

-<a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antObjects.html b/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antObjects.html
deleted file mode 100644
index 2bec323..0000000
--- a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antObjects.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-   <title>AntObjects</title>

-</head>

-<body link="#0000FF" vlink="#800080">

-

-<center>

-<h1>

-AntObjects</h1></center>

-<b><i>Identifier: </i></b>org.eclipse.ant.core.antObjects<p><b><i>Description: </i></b>Allows

-plug-ins to define arbitrary classes for use by the Ant infrastructure.&nbsp;

-For example, in the case of a Javac compiler adapter, the compiler adapter

-factory can be supplied, via a property setting, with the name of an adapter

-class to use.&nbsp; Unfortunately, it is unlikely that the Ant Core plug-in

-would have this class on its classpath (or that of any of its

-prerequisites).&nbsp; To address this, clients should define an extension which

-plugs into this extension-point and maps a name onto a class.&nbsp; The Ant

-plug-in can then request that the declaring plug-in load the specified class.

-<p><b><i>Configuration Markup:&nbsp; </i></b>

-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT antObject EMPTY&gt;</tt>

-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST antObject</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp; ></tt>

-<ul>

-<li>

-<b>name -</b> name of the class to be defined</li>

-

-<li>

-<b>class</b> - the fully qualified name of a Java class</li>

-</ul>

-<p><i><b>Examples: </b> </i>The following is an example of an object

-declaration:

-<p><tt>&nbsp;&nbsp; &lt;extension point=&quot;org.eclipse.ant.core.antObject&quot;&gt;</tt><br>

-<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;antObject name=&quot;com.example.Foo&quot;

-class=&quot;com.example.Foo&quot;/&gt;</tt><br>

-<tt>&nbsp;&nbsp; &lt;/extension&gt;</tt>

-<p><b><i>API Information</i>:</b><i> </i>The objects declared via this

-extension-point are accessible though the following API:<p><tt>&nbsp;&nbsp;

-org.eclipse.core.ant.AntPlugin.getObjectExtensions</tt>

-<p><b><i>Supplied Implementation:</i></b>  The platform itself does not supply

-any object extension.

-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTasks.html b/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTasks.html
deleted file mode 100644
index c7b84e8..0000000
--- a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTasks.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-   <title>AntTasks</title>

-</head>

-<body link="#0000FF" vlink="#800080">

-

-<center>

-<h1>

-AntTasks</h1></center>

-<b><i>Identifier: </i></b>org.eclipse.ant.core.antTasks<p><b><i>Description: </i></b>Allows

-plug-ins to define arbitrary Ant tasks for use by the Ant infrastructure.&nbsp;

-The standard Ant infrastructure allows for the addition of arbitrary

-tasks.&nbsp; Unfortunately, it is unlikely that the Ant Core plug-in

-would have the classes required by these tasks on its classpath (or that of any of its

-prerequisites).&nbsp; To address this, clients should define an extension which

-plugs into this extension-point and maps a task name onto a class.&nbsp; The Ant

-plug-in can then request that the declaring plug-in load the specified class.

-<p><b><i>Configuration Markup:&nbsp; </i></b>

-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT antTask EMPTY&gt;</tt>

-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST antTask</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp; ></tt>

-<ul>

-<li>

-<b>name -</b> name of the task to be defined</li>

-

-<li>

-<b>class</b> - the fully qualified name of a Java class implementing the

-task.&nbsp; Generally this class must be a subclass of&nbsp; <tt>org.apache.tools.ant.Task</tt>.</li>

-</ul>

-<p><i><b>Examples: </b> </i>The following is an example of an object

-declaration:

-<p><tt>&nbsp;&nbsp; &lt;extension point=&quot;org.eclipse.ant.core.antTask&quot;&gt;</tt><br>

-<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;antTask name=&quot;coolTask&quot;

-class=&quot;com.example.CoolTask&quot;/&gt;</tt><br>

-<tt>&nbsp;&nbsp; &lt;/extension&gt;</tt>

-<p><b><i>API Information</i>:</b><i> </i>The objects declared via this

-extension-point are accessible though the following API:<p><tt>&nbsp;&nbsp;

-org.eclipse.core.ant.AntPlugin.getTaskExtensions</tt>

-<p><b><i>Supplied Implementation:</i></b>  The platform itself supplies a number

-of tasks including <tt>incremental, javac and refreshLocal</tt>.

-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTypes.html b/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTypes.html
deleted file mode 100644
index 143fee1..0000000
--- a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTypes.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-   <title>AntObjects</title>

-</head>

-<body link="#0000FF" vlink="#800080">

-

-<center>

-<h1>

-AntTypes</h1></center>

-<b><i>Identifier: </i></b>org.eclipse.ant.core.antTypes<p><b><i>Description: </i></b>Allows

-plug-ins to define arbitrary Ant datatypes for use by the Ant infrastructure.&nbsp;

-The standard Ant infrastructure allows for the addition of arbitrary datatypes.&nbsp; Unfortunately, it is unlikely that the Ant Core plug-in

-would have the classes required by these datatypes on its classpath (or that of any of its

-prerequisites).&nbsp; To address this, clients should define an extension which

-plugs into this extension-point and maps a datatype name onto a class.&nbsp; The Ant

-plug-in can then request that the declaring plug-in load the specified class.

-<p><b><i>Configuration Markup:&nbsp; </i></b>

-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT antType EMPTY&gt;</tt>

-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST antType</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp; ></tt>

-<ul>

-<li>

-<b>name -</b> name of the task to be defined</li>

-

-<li>

-<b>class</b> - the fully qualified name of a Java class implementing the

-datatype.&nbsp; Generally this class must be a subclass of&nbsp; <tt>org.apache.tools.ant.types.DataType</tt>.</li>

-</ul>

-<p><i><b>Examples: </b> </i>The following is an example of an object

-declaration:

-<p><tt>&nbsp;&nbsp; &lt;extension point=&quot;org.eclipse.ant.core.antType&quot;&gt;</tt><br>

-<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;antTask name=&quot;coolType&quot;

-class=&quot;com.example.CoolType&quot;/&gt;</tt><br>

-<tt>&nbsp;&nbsp; &lt;/extension&gt;</tt>

-<p><b><i>API Information</i>:</b><i> </i>The objects declared via this

-extension-point are accessible though the following API:<p><tt>&nbsp;&nbsp;

-org.eclipse.core.ant.AntPlugin.getTypeExtensions</tt>

-<p><b><i>Supplied Implementation:</i></b>  The platform itself supplies a number

-of datatypes including <tt>commaPatternSet</tt>.

-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/jakarta-ant-1.4.1-optional.jar b/ant/org.eclipse.ant.core/jakarta-ant-1.4.1-optional.jar
deleted file mode 100644
index d6a4b4b..0000000
--- a/ant/org.eclipse.ant.core/jakarta-ant-1.4.1-optional.jar
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/jakarta-ant-1.4.1-optionalsrc.zip b/ant/org.eclipse.ant.core/jakarta-ant-1.4.1-optionalsrc.zip
deleted file mode 100644
index f9fb584..0000000
--- a/ant/org.eclipse.ant.core/jakarta-ant-1.4.1-optionalsrc.zip
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/os/linux/libcore_2_0_5.so b/ant/org.eclipse.ant.core/os/linux/libcore_2_0_5.so
deleted file mode 100644
index f28dcf6..0000000
--- a/ant/org.eclipse.ant.core/os/linux/libcore_2_0_5.so
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/os/win32/core_2_0_5.dll b/ant/org.eclipse.ant.core/os/win32/core_2_0_5.dll
deleted file mode 100644
index 8395c07..0000000
--- a/ant/org.eclipse.ant.core/os/win32/core_2_0_5.dll
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/plugin.properties b/ant/org.eclipse.ant.core/plugin.properties
deleted file mode 100644
index c3fe97e..0000000
--- a/ant/org.eclipse.ant.core/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-pluginName = Ant Build Tool Core

-objectsName = Ant Object Definitions

-tasksName = Ant Task Definitions

-typesName = Ant Type Definitions

diff --git a/ant/org.eclipse.ant.core/plugin.xml b/ant/org.eclipse.ant.core/plugin.xml
deleted file mode 100644
index 81bbcd8..0000000
--- a/ant/org.eclipse.ant.core/plugin.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin

-   id="org.eclipse.ant.core"

-   name="%pluginName"

-   version="2.1.1"

-   provider-name="Object Technology International, Inc."

-   class="org.eclipse.ant.core.AntPlugin">

-<requires>

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

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

-</requires>

-

-<runtime>

-   <library name="ant.jar">

-      <export name="*"/>

-   </library>

-   <library name="antsupport.jar">

-      <export name="*"/>

-   </library>

-   <library name="jakarta-ant-1.4.1-optional.jar">

-      <export name="*"/>

-   </library>

-</runtime>

-

-<extension-point id="antObjects" name="%objectsName"/>

-<extension-point id="antTasks" name="%tasksName"/>

-<extension-point id="antTypes" name="%typesName"/>

-

-<extension

-      id="antRunner"

-      point="org.eclipse.core.runtime.applications">

-   <application>

-      <run

-            class="org.eclipse.ant.core.AntRunner">

-      </run>

-   </application>

-</extension>

-<extension

-      point="org.eclipse.ant.core.antTypes">

-   <antType

-         name="commapatternset"

-         class="org.eclipse.ant.core.CommaPatternSet">

-   </antType>

-   <antType

-         name="command"

-         class="org.eclipse.ant.core.CommandDataType">

-   </antType>

-</extension>

-<extension

-      point="org.eclipse.ant.core.antTasks">

-   <antTask

-         name="incremental"

-         class="org.eclipse.ant.core.IncrementalBuild">

-   </antTask>

-   <antTask

-         name="eclipse.incremental"

-         class="org.eclipse.ant.core.IncrementalBuild">

-   </antTask>

-   <antTask

-         name="javac"

-         class="org.eclipse.ant.core.EclipseJavac">

-   </antTask>

-   <antTask

-         name="copy"

-         class="org.eclipse.ant.core.EclipseCopy">

-   </antTask>

-   <antTask

-         name="refreshLocal"

-         class="org.eclipse.ant.core.RefreshLocal">

-   </antTask>

-   <antTask

-         name="eclipse.refreshLocal"

-         class="org.eclipse.ant.core.RefreshLocal">

-   </antTask>

-   <antTask

-         name="eclipse.createProject"

-         class="org.eclipse.ant.core.CreateProject">

-   </antTask>

-   <antTask

-         name="eclipse.deleteProject"

-         class="org.eclipse.ant.core.DeleteProject">

-   </antTask>

-   <antTask

-         name="eclipse.moveProject"

-         class="org.eclipse.ant.core.MoveProject">

-   </antTask>

-   <antTask

-         name="eclipse.copyProject"

-         class="org.eclipse.ant.core.CopyProject">

-   </antTask>

-   <antTask

-         name="eclipse.convertPath"

-         class="org.eclipse.ant.core.ConvertPath">

-   </antTask>

-</extension>

-</plugin>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntPlugin.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntPlugin.java
deleted file mode 100644
index 5e70851..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntPlugin.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

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

-import java.util.HashMap;

-import java.util.Map;

-import org.apache.tools.ant.Task;

-

-/**

- * The plug-in runtime class for the Ant Core plug-in.

- * <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 final class AntPlugin extends Plugin {

-	/**

-	 * The single instance of this plug-in runtime class.

-	 */

-	private static AntPlugin plugin;

-

-	/**

-	 * Table of Ant tasks added through the antTasks extension point

-	 */

-	private Map taskExtensions;

-

-	/**

-	 * Table of Ant objects added through the antObjects extension point

-	 */

-	private Map objectExtensions;

-

-	/**

-	 * Table of Ant types added through the antTypes extension point

-	 */

-	private Map typeExtensions;

-

-	/**

-	 * Unique identifier constant (value <code>"org.eclipse.ant.core"</code>)

-	 * for the Ant plug-in.

-	 */

-	public static final String PI_ANT= "org.eclipse.ant.core";

-

-	/**

-	 * Simple identifier constant (value <code>"antTasks"</code>)

-	 * for the Ant tasks extension point.

-	 */

-	public static final String PT_ANTTASKS = "antTasks";

-

-	/**

-	 * Simple identifier constant (value <code>"antTypes"</code>)

-	 * for the Ant types extension point.

-	 */

-	public static final String PT_ANTTYPES = "antTypes";

-

-	/**

-	 * Simple identifier constant (value <code>"antObjects"</code>)

-	 * for the Ant objects extension point.

-	 */

-	public static final String PT_ANTOBJECTS = "antObjects";

-

-	/**

-	 * Simple identifier constant (value <code>"class"</code>)

-	 * of a tag that appears in Ant extensions.

-	 */

-	public static final String CLASS = "class";

-

-	/**

-	 * Simple identifier constant (value <code>"class"</code>)

-	 * of a tag that appears in Ant extensions.

-	 */

-	public static final String NAME = "name";

-

-/** 

- * Constructs an instance of this plug-in runtime class.

- * <p>

- * Instances of plug-in runtime classes are automatically created 

- * by the platform in the course of plug-in activation.

- * <b>No client or plug-in should ever explicitly instantiate

- * a plug-in runtime class</b>.

- * </p>

- * 

- * @param pluginDescriptor the plug-in descriptor for the

- *   Resources plug-in

- */

-public AntPlugin(IPluginDescriptor pluginDescriptor) {

-	super(pluginDescriptor);

-	plugin = this;

-}

-

-/**

- * Returns the internal collection of object extensions.

- * 

- * @return the internal collection of object extensions

- */	

-public Map getObjectExtensions() {

-	return objectExtensions;

-}

-

-/**

- * Returns this plug-in.

- *

- * @return the single instance of this plug-in runtime class

- */

-public static AntPlugin getPlugin() {

-	return plugin;

-}

-

-/**

- * Returns the internal collection of task extensions.

- * 

- * @return the internal collection of task extensions

- */	

-public Map getTaskExtensions() {

-	return taskExtensions;

-}

-

-/**

- * Returns the internal collection of type extensions.

- * 

- * @return the internal collection of type extensions

- */	

-public Map getTypeExtensions() {

-	return typeExtensions;

-}

-

-/**

- * This implementation of the corresponding <code>Plugin</code> method

- * 

- * @exception CoreException if this method fails to shut down this plug-in

- */

-public void shutdown() throws CoreException {

-}

-

-/**

- * This implementation of the corresponding <code>Plugin</code> method

- * 

- * @exception CoreException if this plug-in did not start up properly

- */

-public void startup() throws CoreException {

-	IExtensionPoint extensionPoint = getDescriptor().getExtensionPoint(PT_ANTTASKS);

-	if (extensionPoint != null) {

-		IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();

-		taskExtensions = new HashMap(extensions.length);

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

-			String name = extensions[i].getAttribute(NAME);

-			taskExtensions.put(name, extensions[i]);

-		}

-	}

-	extensionPoint = getDescriptor().getExtensionPoint(PT_ANTTYPES);

-	if (extensionPoint != null) {

-		IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();

-		typeExtensions = new HashMap(extensions.length);

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

-			String name = extensions[i].getAttribute(NAME);

-			typeExtensions.put(name, extensions[i]);

-		}

-	}

-	extensionPoint = getDescriptor().getExtensionPoint(PT_ANTOBJECTS);

-	if (extensionPoint != null) {

-		IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();

-		objectExtensions = new HashMap(extensions.length);

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

-			String name = extensions[i].getAttribute(NAME);

-			objectExtensions.put(name, extensions[i]);

-		}

-	}

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
deleted file mode 100644
index ea2fa6e..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
+++ /dev/null
@@ -1,705 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 1999, 2000 The Apache Software Foundation.  All rights

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer.

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:

- *       "This product includes software developed by the

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-import org.eclipse.core.boot.IPlatformRunnable;

-import java.io.*;

-import java.util.*;

-import org.apache.tools.ant.*;

-

-/**

- * Eclipse application entry point into Ant. Derived from the original Ant Main class

- * to ensure that the functionality was equivalent when running in the platform.

- * <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 class AntRunner implements IPlatformRunnable {

-

-	/** The default build file name */

-	public static final String DEFAULT_BUILD_FILENAME = "build.xml";

-

-	/** Our current message output status. Follows Project.MSG_XXX */

-	private int msgOutputLevel = Project.MSG_INFO;

-

-	/** File that we are using for configuration */

-	private File buildFile; /** null */

-

-	/** Stream that we are using for logging */

-	private PrintStream out = System.out;

-

-	/** Stream that we are using for logging error messages */

-	private PrintStream err = System.err;

-

-	/** The build targets */

-	private Vector targets = new Vector(5);

-

-	/** Set of properties that can be used by tasks */

-	private Properties definedProps = new Properties();

-

-	/** Names of classes to add as listeners to project */

-	private Vector listeners = new Vector(5);

-

-	/** Names of classes to add as listeners to project */

-	private IAntRunnerListener clientListener;

-

-	/**

-	 * The Ant logger class. There may be only one logger. It will have the

-	 * right to use the 'out' PrintStream. The class must implements the BuildLogger

-	 * interface

-	 */

-	private String loggerClassname = null;

-

-	/**

-	 * Indicates whether output to the log is to be unadorned.

-	 */

-	private boolean emacsMode = false;

-

-	/**

-	 * Indicates if this ant should be run.

-	 */

-	private boolean readyToRun = false;

-

-	/**

-	 * Indicates we should only parse and display the project help information

-	 */

-	private boolean projectHelp = false;

-	

-    private static String antVersion = null;

-    

-    /**

-	 * Adds a logger and all registered build listeners to an ant project.

-	 * 

-	 * @param project the project to add listeners to

-	 */

-protected void addBuildListeners(Project project) {

-	// If we have a client listener then use that.  Otherwise add the default listener

-	if (clientListener != null)

-		project.addBuildListener(clientListener);

-	else

-		project.addBuildListener(createLogger());

-	for (int i= 0; i < listeners.size(); i++) {

-		String className = (String) listeners.elementAt(i);

-		try {

-			BuildListener listener = (BuildListener) Class.forName(className).newInstance();

-			project.addBuildListener(listener);

-		} catch (Exception exc) {

-			throw new BuildException(Policy.bind("exception.cannotCreateListener",className), exc);

-		}

-	}

-}

-

-/**

- * Creates and returns the default build logger for logging build events to the ant log.

- * 

- * @return the default build logger for logging build events to the ant log

- */

-private BuildLogger createLogger() {

-	BuildLogger logger = null;

-	if (loggerClassname != null) {

-		try {

-			logger = (BuildLogger) (Class.forName(loggerClassname).newInstance());

-		} catch (ClassCastException e) {

-			System.err.println(Policy.bind("exception.loggerDoesNotImplementInterface",loggerClassname));

-			throw new RuntimeException();

-		} catch (Exception e) {

-			System.err.println(Policy.bind("exception.cannotCreateLogger",loggerClassname));

-			throw new RuntimeException();

-		}

-	} else {

-		logger = new DefaultLogger();

-	}

-	logger.setMessageOutputLevel(msgOutputLevel);

-	logger.setOutputPrintStream(out);

-	logger.setErrorPrintStream(err);

-	logger.setEmacsMode(emacsMode);

-	return logger;

-}

-

-/**

- * Search parent directories for the build file.

- *

- * <p>Takes the given target as a suffix to append to each

- * parent directory in seach of a build file.  Once the

- * root of the file-system has been reached an exception

- * is thrown.

- * </p>

- * @param suffix Suffix filename to look for in parents.

- * @return A handle to the build file

- * @exception BuildException Failed to locate a build file

- */

-private File findBuildFile(String start, String suffix) throws BuildException {

-	logMessage(Policy.bind("info.searchingFor",suffix), Project.MSG_INFO);

-	File parent = new File(new File(start).getAbsolutePath());

-	File file = new File(parent, suffix);

-	// check if the target file exists in the current directory

-	while (!file.exists()) {

-		// change to parent directory

-		parent = getParentFile(parent);

-		// if parent is null, then we are at the root of the fs,

-		// complain that we can't find the build file.

-		if (parent == null)

-			throw new BuildException(Policy.bind("exception.noBuildFile"));

-		// refresh our file handle

-		file = new File(parent, suffix);

-	}

-	return file;

-}

-

-/**

- * Returns the appropriate insertion index for a given string into a sorted collection.

- * 

- * @return the insertion index

- * @param names the initial collection of sorted strings

- * @param name the string whose insertion index into <code>names</code> is to be determined

- */

-private int findTargetPosition(Vector names, String name) {

-	int result = names.size();

-	for (int i = 0; i < names.size() && result == names.size(); i++) {

-		if (name.compareTo((String) names.elementAt(i)) < 0)

-			result = i;

-	}

-	return result;

-}

-

-/**

- * Helper to get the parent file for a given file.

- * <p>Added to simulate File.getParentFile() from JDK 1.2.</p>

- *

- * @param file File

- * @return Parent file or null if none

- */

-private File getParentFile(File file) {

-	String filename = file.getAbsolutePath();

-	file = new File(filename);

-	filename = file.getParent();

-	logMessage(Policy.bind("info.searchingIn",filename), Project.MSG_VERBOSE);

-	return (filename == null) ? null : new File(filename);

-}

-private void logMessage(String message, int severity) {

-	if (clientListener != null)

-		clientListener.messageLogged(message, severity);

-}

-/**

- * Command-line invocation method.

- * 

- * @param args the string arguments present on the command line

- */

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

-	new AntRunner().run(args);

-}

-

-/**

- * Equivalent to the standard command-line invocation method except

- * that command-line arguments are provided in the form of a string

- * instead of an array.

- * 

- * @param argString the string arguments present on the command line

- */

-public static void main(String argString) throws Exception {

-	main(tokenizeArgs(argString));

-}

-

-/**

- * Returns the output message level that has been requested by the

- * client.  This value will be one of <code>Project.MSG_ERR</code>,

- * <code>Project.MSG_WARN</code>, <code>Project.MSG_INFO</code>,

- * <code>Project.MSG_VERBOSE</code> or <code>Project.MSG_DEBUG</code>.

- * 

- * @see org.apache.tools.ant.Project

- * @return the output message level that has been requested by the client

- */

-public int getOutputMessageLevel() {

-	return msgOutputLevel;

-}

-

-/**

- * Prints the message of the Throwable if it is not null.

- * 

- * @param t the throwable whose message is to be displayed

- */

-private void printMessage(Throwable t) {

-	String message= t.getMessage();

-	if (message != null)

-		System.err.println(message);

-}

-

-/**

- * Logs a message with the client that lists the target names and optional descriptions

- * 

- * @param names the targets names

- * @param descriptions the corresponding descriptions

- * @param heading the message heading

- * @param maxlen maximum length that can be allocated for a name

- */

-private void printTargets(Vector names, Vector descriptions, String heading, int maxlen) {

-	// now, start printing the targets and their descriptions

-	String lSep = System.getProperty("line.separator");

-	// got a bit annoyed that I couldn't find a pad function

-	String spaces = "    ";

-	while (spaces.length() < maxlen) {

-		spaces += spaces;

-	}

-	StringBuffer msg = new StringBuffer();

-	msg.append(heading + lSep + lSep);

-	for (int i= 0; i < names.size(); i++) {

-		msg.append(" ");

-		msg.append(names.elementAt(i));

-		if (descriptions != null) {

-			msg.append(spaces.substring(0, maxlen - ((String) names.elementAt(i)).length() + 2));

-			msg.append(descriptions.elementAt(i));

-		}

-		msg.append(lSep);

-	}

-	logMessage(msg.toString(), Project.MSG_INFO);

-}

-

-/**

- * Logs a message with the client that lists the targets

- * in a project

- * 

- * @param project the project to list targets from

- */

-private void printTargets(Project project) {

-    // find the target with the longest name

-    int maxLength = 0;

-    Enumeration ptargets = project.getTargets().elements();

-    String targetName;

-    String targetDescription;

-    Target currentTarget;

-    // split the targets in top-level and sub-targets depending

-    // on the presence of a description

-    Vector topNames = new Vector();

-    Vector topDescriptions = new Vector();

-    Vector subNames = new Vector();

-

-    while (ptargets.hasMoreElements()) {

-        currentTarget = (Target)ptargets.nextElement();

-        targetName = currentTarget.getName();

-        targetDescription = currentTarget.getDescription();

-        // maintain a sorted list of targets

-        if (targetDescription == null) {

-            int pos = findTargetPosition(subNames, targetName);

-            subNames.insertElementAt(targetName, pos);

-        } else {

-            int pos = findTargetPosition(topNames, targetName);

-            topNames.insertElementAt(targetName, pos);

-            topDescriptions.insertElementAt(targetDescription, pos);

-            if (targetName.length() > maxLength) {

-                maxLength = targetName.length();

-            }

-        }

-    }

-

-    String defaultTarget = project.getDefaultTarget();

-    if (defaultTarget != null && !"".equals(defaultTarget)) { // shouldn't need to check but...

-        Vector defaultName = new Vector();

-        Vector defaultDesc = null;

-        defaultName.addElement(defaultTarget);

-

-        int indexOfDefDesc = topNames.indexOf(defaultTarget);

-        if (indexOfDefDesc >= 0) {

-            defaultDesc = new Vector();

-            defaultDesc.addElement(topDescriptions.elementAt(indexOfDefDesc));

-        }

-        printTargets(defaultName, defaultDesc, Policy.bind("label.defaultTarget"), maxLength);

-

-    }

-

-    printTargets(topNames, topDescriptions, Policy.bind("label.mainTargets"), maxLength);

-    printTargets(subNames, null, Policy.bind("label.subTargets"), 0);

-}

-

-/**

- * Logs a message with the client outlining the usage of <b>Ant</b>.

- */

-private void printUsage() {

-	String lSep = System.getProperty("line.separator");

-	StringBuffer msg = new StringBuffer();

-	msg.append("ant [" + Policy.bind("usage.options") + "] [" 

-				+ Policy.bind("usage.target") + " ["

-				+ Policy.bind("usage.target") + "2 ["

-				+ Policy.bind("usage.target") + "3] ...]]" + lSep);

-	msg.append(Policy.bind("usage.Options") + ": " + lSep);

-	msg.append("  -help                  " + Policy.bind("usage.printMessage") + lSep);

-	msg.append("  -projecthelp           " + Policy.bind("usage.projectHelp") + lSep);

-	msg.append("  -version               " + Policy.bind("usage.versionInfo") + lSep);

-	msg.append("  -quiet                 " + Policy.bind("usage.beQuiet") + lSep);

-	msg.append("  -verbose               " + Policy.bind("usage.beVerbose") + lSep);

-	msg.append("  -debug                 " + Policy.bind("usage.printDebugInfo") + lSep);

-	msg.append("  -emacs                 " + Policy.bind("usage.emacsLog") + lSep);

-	msg.append("  -logfile <file>        " + Policy.bind("usage.useFile") + lSep);

-	msg.append("  -logger <classname>    " + Policy.bind("usage.logClass") + lSep);

-	msg.append("  -listener <classname>  " + Policy.bind("usage.listenerClass") + lSep);

-	msg.append("  -buildfile <file>      " + Policy.bind("usage.fileToBuild") + lSep);

-	msg.append("  -D<property>=<value>   " + Policy.bind("usage.propertiesValues") + lSep);

-	msg.append("  -find <file>           " + Policy.bind("usage.findFileToBuild") + lSep);

-	

-	logMessage(msg.toString(), Project.MSG_INFO);

-}

-

-/**

- * Logs a message with the client indicating the version of <b>Ant</b> that this class

- * fronts.

- */

-private void printVersion() {

- 	logMessage(getAntVersion(), Project.MSG_INFO);

-}

-

-public synchronized static String getAntVersion() throws BuildException {

-    if (antVersion == null) {

-        try {

-            Properties props = new Properties();

-            InputStream in =

-                Main.class.getResourceAsStream("/org/apache/tools/ant/version.txt");

-            props.load(in);

-            in.close();

-            

-            String lSep = System.getProperty("line.separator");

-            StringBuffer msg = new StringBuffer();

-            msg.append(Policy.bind("usage.antVersion"));

-            msg.append(props.getProperty("VERSION") + " ");

-            msg.append(Policy.bind("usage.compiledOn"));

-            msg.append(props.getProperty("DATE"));

-            antVersion = msg.toString();

-        } catch (IOException ioe) {

-            throw new BuildException(Policy.bind("exception.cannotLoadVersionInfo", ioe.getMessage()));

-        } catch (NullPointerException npe) {

-            throw new BuildException(Policy.bind("exception.cannotLoadVersionInfo", ""));

-        }

-    }

-    return antVersion;

-}

-

-/**

- * Processes the command line passed in by the client.

- * 

- * @execption BuildException occurs if the build file is not properly specified

- * @param args the collection of arguments

- */

-protected void processCommandLine(String[] args) throws BuildException {

-	String searchForThis = null;

-	// cycle through given args

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

-		String arg = args[i];

-		if (arg.equals("-help")) {

-			printUsage();

-			return;

-		} 

-		if (arg.equals("-version")) {

-			printVersion();

-			return;

-		}

-		if (arg.equals("-quiet") || arg.equals("-q")) {

-			msgOutputLevel = Project.MSG_WARN;

-		} else if (arg.equals("-verbose") || arg.equals("-v")) {

-			printVersion();

-			msgOutputLevel = Project.MSG_VERBOSE;

-		} else if (arg.equals("-debug")) {

-			printVersion();

-			msgOutputLevel = Project.MSG_DEBUG;

-		} else if (arg.equals("-logfile") || arg.equals("-l")) {

-			try {

-				File logFile = new File(args[i + 1]);

-				i++;

-				out= new PrintStream(new FileOutputStream(logFile));

-				err = out;

-				System.setOut(out);

-				System.setErr(out);

-			} catch (IOException ioe) {

-				logMessage(Policy.bind("exception.cannotWriteToLog"), Project.MSG_INFO);

-				return;

-			} catch (ArrayIndexOutOfBoundsException aioobe) {

-				logMessage(Policy.bind("exception.missingLogFile"), Project.MSG_INFO);

-				return;

-			}

-		} else if (arg.equals("-buildfile") || arg.equals("-file") || arg.equals("-f")) {

-			try {

-				buildFile = new File(args[i + 1]);

-				i++;

-			} catch (ArrayIndexOutOfBoundsException aioobe) {

-				logMessage(Policy.bind("exception.missingBuildFile"), Project.MSG_INFO);

-				return;

-			}

-		} else if (arg.equals("-listener")) {

-			try {

-				listeners.addElement(args[i + 1]);

-				i++;

-			} catch (ArrayIndexOutOfBoundsException aioobe) {

-				logMessage(Policy.bind("exception.missingClassName"), Project.MSG_INFO);

-				return;

-			}

-		} else if (arg.startsWith("-D")) {

-

-			/* Interestingly enough, we get to here when a user

-			 * uses -Dname=value. However, in some cases, the JDK

-			 * goes ahead * and parses this out to args

-			 *   {"-Dname", "value"}

-			 * so instead of parsing on "=", we just make the "-D"

-			 * characters go away and skip one argument forward.

-			 *

-			 * I don't know how to predict when the JDK is going

-			 * to help or not, so we simply look for the equals sign.

-			 */

-

-			String name = arg.substring(2, arg.length());

-			String value = null;

-			int posEq = name.indexOf("=");

-			if (posEq > 0) {

-				value = name.substring(posEq + 1);

-				name = name.substring(0, posEq);

-			} else if (i < args.length - 1)

-				value = args[++i];

-

-			definedProps.put(name, value);

-		} else if (arg.equals("-logger")) {

-			if (loggerClassname != null) {

-				logMessage(Policy.bind("exception.multipleLoggers"), Project.MSG_INFO);

-				return;

-			}

-			loggerClassname = args[++i];

-		} else if (arg.equals("-emacs"))

-			emacsMode = true;

-		else if (arg.equals("-projecthelp"))

-			projectHelp = true; // set the flag to display the targets and quit

-		else if (arg.equals("-find")) {

-			// eat up next arg if present, default to build.xml

-			if (i < args.length - 1)

-				searchForThis = args[++i];

-			else

-				searchForThis = DEFAULT_BUILD_FILENAME;

-		} else if (arg.startsWith("-")) {

-			// we don't have any more args to recognize!

-			logMessage(Policy.bind("exception.unknownArgument",arg), Project.MSG_INFO);

-//			printUsage();

-//			return;

-		} else 

-			targets.addElement(arg); // if it's no other arg, it may be the target

-	}

-	// if buildFile was not specified on the command line,

-	if (buildFile == null) {

-		// but -find then search for it

-		if (searchForThis != null)

-			buildFile = findBuildFile(".", searchForThis);

-		else

-			buildFile = new File(DEFAULT_BUILD_FILENAME);

-	}

-	// make sure buildfile exists

-	if (!buildFile.getAbsoluteFile().exists()) {

-		logMessage(Policy.bind("exception.buildFileNotFound",buildFile.toString()), Project.MSG_INFO);

-		throw new BuildException(Policy.bind("error.buildFailed"));

-	}

-	// make sure it's not a directory (this falls into the ultra

-	// paranoid lets check everything catagory

-	if (buildFile.isDirectory()) {

-		logMessage(Policy.bind("exception.buildFileIsDirectory",buildFile.toString()), Project.MSG_INFO);

-		throw new BuildException(Policy.bind("error.buildFailed"));

-	}

-	readyToRun= true;

-}

-

-/**

- * Invokes the building of a project object and executes a build using either a given

- * target or the default target.

- *

- * @param argArray the command line arguments

- * @exception execution exceptions

- */

-public Object run(Object argArray) throws Exception {

-	String[] args = (String[]) argArray;

-	processCommandLine(args);

-	try {

-		runBuild(null);

-	} catch (BuildException e) {

-		if (err != System.err)

-			printMessage(e);

-		throw e;

-	} catch (ThreadDeath e) {

-		throw e;

-	} catch (Throwable e) {

-		printMessage(e);

-	}

-	return null;

-}

-

-/**

- * Invokes the building of a project object and executes a build using either a given

- * target or the default target.

- *

- * @param argArray the command line arguments

- * @param listener the client listener

- * @exception execution exceptions

- */

-public Object run(Object argArray, IAntRunnerListener listener) throws Exception {

-	clientListener = listener;

-	return run(argArray);

-}

-

-/**

- * Executes the build.

- * 

- * @exception BuildException thrown if there is a problem during building.

- */

-private void runBuild(ClassLoader coreLoader) throws BuildException {

-

-    if (!readyToRun) {

-        return;

-    }

-

-	logMessage(Policy.bind("label.buildFile",buildFile.toString()),Project.MSG_INFO);

-

-    final EclipseProject project = new EclipseProject();

-    project.setCoreLoader(coreLoader);

-    

-    Throwable error = null;

-

-    try {

-        addBuildListeners(project);

-

-        PrintStream err = System.err;

-        PrintStream out = System.out;

-        SecurityManager oldsm = System.getSecurityManager();

-

-        try {

-            System.setOut(new PrintStream(new DemuxOutputStream(project, false)));

-            System.setErr(new PrintStream(new DemuxOutputStream(project, true)));

-            project.fireBuildStarted();

-            project.init();

-            project.setUserProperty("ant.version", getAntVersion());

-

-            // set user-define properties

-            Enumeration e = definedProps.keys();

-            while (e.hasMoreElements()) {

-                String arg = (String)e.nextElement();

-                String value = (String)definedProps.get(arg);

-                project.setUserProperty(arg, value);

-            }

-            

-            project.setUserProperty("ant.file" , buildFile.getAbsolutePath() );

-            

-            // first use the ProjectHelper to create the project object

-            // from the given build file.

-            try {

-                Class.forName("javax.xml.parsers.SAXParserFactory");

-                ProjectHelper.configureProject(project, buildFile);

-            } catch (NoClassDefFoundError ncdfe) {

-                throw new BuildException(Policy.bind("exception.noParser"), ncdfe);

-            } catch (ClassNotFoundException cnfe) {

-                throw new BuildException(Policy.bind("exception.noParser"), cnfe);

-            } catch (NullPointerException npe) {

-                throw new BuildException(Policy.bind("exception.noParser"), npe);

-            }

-            

-            // make sure that we have a target to execute

-            if (targets.size() == 0) {

-                targets.addElement(project.getDefaultTarget());

-            }

-            

-            if (!projectHelp) {

-                project.executeTargets(targets);

-            }

-        }

-        finally {

-            System.setOut(out);

-            System.setErr(err);

-        }

-        if (projectHelp) {

-            printDescription(project);

-            printTargets(project);

-        }

-    }

-    catch(RuntimeException exc) {

-        error = exc;

-        throw exc;

-    }

-    catch(Error err) {

-        error = err;

-        throw err;

-    }

-    finally {

-        project.fireBuildFinished(error);

-    }

-}

-/**

- * Print the project description, if any

- */

-private static void printDescription(Project project) {

-   if (project.getDescription() != null) {

-      System.out.println(project.getDescription());

-   }

-}

-

-/**

- * Returns a tokenized version of a string.

- * 

- * @return a tokenized version of a string

- * @param argString the original argument string

- */

-public static String[] tokenizeArgs(String argString) throws Exception {

-	Vector list = new Vector(5);

-	for (StringTokenizer tokens = new StringTokenizer(argString, " "); tokens.hasMoreElements();)

-		list.addElement((String) tokens.nextElement());

-	return (String[]) list.toArray(new String[list.size()]);

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommaPatternSet.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommaPatternSet.java
deleted file mode 100644
index 87d08cc..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommaPatternSet.java
+++ /dev/null
@@ -1,429 +0,0 @@
-package org.eclipse.ant.core;

-/*

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

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 2000 The Apache Software Foundation.  All rights 

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer. 

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:  

- *       "This product includes software developed by the 

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written 

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-

-import org.apache.tools.ant.Project;

-import org.apache.tools.ant.ProjectHelper;

-import org.apache.tools.ant.BuildException;

-import org.apache.tools.ant.types.PatternSet;

-import org.apache.tools.ant.types.Reference;

-

-import java.io.*;

-import java.util.Enumeration;

-import java.util.Stack;

-import java.util.StringTokenizer;

-import java.util.Vector;

-

-/**

- * Named collection of include/exclude tags.  This is largely a copy of the original

- * Ant PatternSet data type.  Unfortunately, that datatype used both the comma and

- * the space character as a token to delimit pattern entries.  This makes it virtually

- * impossible to use for files which have spaces in their names.  The <code>CommaPatternSet</code>

- * is not particularly usable but it is easier than trying to deal with the original.

- * <p>

- * A complete copy was done to ensure that the behavior is correct.  Otherwise there is a

- * risk of getting some values from the private slots of the superclass and some from this

- * class.  Unfortunately, there is no way to link this support into <code>FileSet</code>.

- * </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>

- * @see PatternSet

- */

-

-public class CommaPatternSet extends PatternSet {

-    private Vector includeList = new Vector();

-    private Vector excludeList = new Vector();

-    private Vector includesFileList = new Vector();

-    private Vector excludesFileList = new Vector();

-

-    public CommaPatternSet() {

-        super();

-    }

-

-	/**

-	 * Makes the receiver effectively a reference to another <code>PatternSet</code>

-	 * instance.

-	 *

-	 * <p>Once this element becomes a reference its internal attributes and nested elements

-	 * must not be modified.</p>

-	 * 

-	 * @param r the other <code>PatternSet</code>

-	 * @exception BuildException

-	 */

-    public void setRefid(Reference r) throws BuildException {

-        if (!includeList.isEmpty() || !excludeList.isEmpty()) {

-            throw tooManyAttributes();

-        }

-        super.setRefid(r);

-    }

-

-	/**

-	 * Adds a name entry to the receiver's include list.

-	 * 

-	 * @return the new name entry

-	 */

-    public NameEntry createInclude() {

-        if (isReference()) {

-            throw noChildrenAllowed();

-        }

-        return addPatternToList(includeList);

-    }

-

-    /**

-     * add a name entry on the include files list

-     */

-    public NameEntry createIncludesFile() {

-        if (isReference()) {

-            throw noChildrenAllowed();

-        }

-        return addPatternToList(includesFileList);

-    }

-    

-	/**

-	 * Adds a name entry to the receiver's exclude list.

-	 * 

-	 * @return the new name entry

-	 */

-    public NameEntry createExclude() {

-        if (isReference()) {

-            throw noChildrenAllowed();

-        }

-        return addPatternToList(excludeList);

-    }

-    

-    /**

-     * add a name entry on the exclude files list

-     */

-    public NameEntry createExcludesFile() {

-        if (isReference()) {

-            throw noChildrenAllowed();

-        }

-        return addPatternToList(excludesFileList);

-    }

-

-	/**

-	 * Sets the receiver's set of include patterns. Patterns can only be separated

-	 * by a comma and by not a space (unlike PatternSet).

-	 *

-	 * @param includes the include patterns

-	 */

-    public void setIncludes(String includes) {

-        if (isReference()) {

-            throw tooManyAttributes();

-        }

-        if (includes != null && includes.length() > 0) {

-            StringTokenizer tok = new StringTokenizer(includes, ",", false);

-            while (tok.hasMoreTokens()) {

-                createInclude().setName(tok.nextToken());

-            }

-        }

-    }

-

-	/**

-	 * Sets the receiver's set of exclude patterns. Patterns can only be separated

-	 * by a comma and by not a space (unlike PatternSet).

-	 *

-	 * @param excludes the exclude patterns

-	 */

-    public void setExcludes(String excludes) {

-        if (isReference()) {

-            throw tooManyAttributes();

-        }

-        if (excludes != null && excludes.length() > 0) {

-            StringTokenizer tok = new StringTokenizer(excludes, ",", false);

-            while (tok.hasMoreTokens()) {

-                createExclude().setName(tok.nextToken());

-            }

-        }

-    }

-

-	/**

-	 * Adds a name entry to the given list.

-	 * 

-	 * @return the new name entry

-	 * @param list the target list

-	 */

-    private NameEntry addPatternToList(Vector list) {

-        NameEntry result = new NameEntry();

-        list.addElement(result);

-        return result;

-    }

-

-	/**

-	 * Sets the name of the file containing the includes patterns.

-	 *

-	 * @param incl the file to retrieve the include patterns from

-	 */

-     public void setIncludesfile(File includesFile) throws BuildException {

-         if (isReference()) {

-             throw tooManyAttributes();

-         }

-         createIncludesFile().setName(includesFile.getAbsolutePath());

-     }

-

-	/**

-	 * Sets the name of the file containing the excludes patterns.

-	 *

-	 * @param excl the file to retrieve the exclude patterns from

-	 */

-     public void setExcludesfile(File excludesFile) throws BuildException {

-         if (isReference()) {

-             throw tooManyAttributes();

-         }

-         createExcludesFile().setName(excludesFile.getAbsolutePath());

-     }

-    

-	/**

-	 * Reads path matching patterns from a file and adds them to the

-	 * includes or excludes list as appropriate.

-	 * 

-	 * @param patternfile the source file

-	 * @param patternlist the list of patterns

-	 * @param p the target project

-	 * @exception BuildException thrown if the file cannot be read

-	 */

-    private void readPatterns(File patternfile, Vector patternlist, Project p)

-        throws BuildException {

-        

-        try {

-            // Get a FileReader

-            BufferedReader patternReader = 

-                new BufferedReader(new FileReader(patternfile)); 

-        

-            // Create one NameEntry in the appropriate pattern list for each 

-            // line in the file.

-            String line = patternReader.readLine();

-            while (line != null) {

-                if (line.length() > 0) {

-                    line = ProjectHelper.replaceProperties(p, line,

-                                                           p.getProperties());

-                    addPatternToList(patternlist).setName(line);

-                }

-                line = patternReader.readLine();

-            }

-        } catch(IOException ioe)  {

-			throw new BuildException(Policy.bind("exception.patternFile",patternfile.toString()),ioe);

-        }

-    }

-

-	/**

-	 * Adds the patterns of another <code>PatternSet</code> to the receiver.

-	 * 

-	 * @param other the other <code>PatternSet</code>

-	 * @param p the target project

-	 */

-    public void append(PatternSet other, Project p) {

-        if (isReference()) {

-            throw new BuildException(Policy.bind("exception.cannotAppendToReference"));

-        }

-

-        String[] incl = other.getIncludePatterns(p);

-        if (incl != null) {

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

-                createInclude().setName(incl[i]);

-            }

-        }

-        

-        String[] excl = other.getExcludePatterns(p);

-        if (excl != null) {

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

-                createExclude().setName(excl[i]);

-            }

-        }

-    }

-

-	/**

-	 * Returns the receiver's filtered include patterns.

-	 * 

-	 * @return the receiver's filtered include patterns.

-	 * @param the target project

-	 */

-    public String[] getIncludePatterns(Project p) {

-        if (isReference()) {

-            return getRef(p).getIncludePatterns(p);

-        } else {

-            readFiles(p);

-            return makeArray(includeList, p);

-        }

-    }

-

-	/**

-	 * Returns the receiver's filtered exclude patterns.

-	 * 

-	 * @return the receiver's filtered exclude patterns.

-	 * @param the target project

-	 */

-    public String[] getExcludePatterns(Project p) {

-        if (isReference()) {

-            return getRef(p).getExcludePatterns(p);

-        } else {

-            readFiles(p);

-            return makeArray(excludeList, p);

-        }

-    }

-

-	/**

-	 * Returns a boolean indicating whether this instance has any patterns.

-	 * 

-	 * @return a boolean indicating whether this instance has any patterns

-	 */

-    boolean hasPatterns() {

-        return includesFileList.size() > 0 || excludesFileList.size() > 0 

-            || includeList.size() > 0 || excludeList.size() > 0;

-    }

-

-	/**

-	 * Performs a check for circular references and returns the

-	 * referenced <code>PatternSet</code>.

-	 * 

-	 * @return the referenced <code>PatternSet</code>

-	 * @param the target project

-	 */

-    private PatternSet getRef(Project p) {

-        if (!checked) {

-            Stack stk = new Stack();

-            stk.push(this);

-            dieOnCircularReference(stk, p);

-        }

-        

-        Object o = ref.getReferencedObject(p);

-        if (!(o instanceof PatternSet)) {

-			throw new BuildException(Policy.bind("exception.notAPatternSet",ref.getRefId()));

-    	} else {

-            return (PatternSet) o;

-        }

-    }

-

-	/**

-	 * Returns a given vector of name entries as an array of strings.

-	 * 

-	 * @return a string array of name entries

-	 * @param list the original vector of name entries

-	 * @param p the target project

-	 */

-    private String[] makeArray(Vector list, Project p) {

-        if (list.size() == 0) return null;

-

-        Vector tmpNames = new Vector();

-        for (Enumeration e = list.elements() ; e.hasMoreElements() ;) {

-            NameEntry ne = (NameEntry)e.nextElement();

-            String pattern = ne.evalName(p);

-            if (pattern != null && pattern.length() > 0) {

-                tmpNames.addElement(pattern);

-            }

-        }

-

-        String result[] = new String[tmpNames.size()];

-        tmpNames.copyInto(result);

-        return result;

-    }

-        

-	/**

-	 * Reads includefile and excludefile if not already done.

-	 * 

-	 * @param p the target project

-	 */

-    private void readFiles(Project p) {

-        if (includesFileList.size() > 0) {

-            Enumeration e = includesFileList.elements();

-            while (e.hasMoreElements()) {

-                NameEntry ne = (NameEntry)e.nextElement();

-                String fileName = ne.evalName(p);

-                if (fileName != null) {

-                    File inclFile = p.resolveFile(fileName);

-                    if (!inclFile.exists())

-                        throw new BuildException("Includesfile "

-                                                 + inclFile.getAbsolutePath()

-                                                 + " not found.");

-                    readPatterns(inclFile, includeList, p);

-                }

-            }

-            includesFileList.removeAllElements();

-        }

-

-        if (excludesFileList.size() > 0) {

-            Enumeration e = excludesFileList.elements();

-            while (e.hasMoreElements()) {

-                NameEntry ne = (NameEntry)e.nextElement();

-                String fileName = ne.evalName(p);

-                if (fileName != null) {

-                    File exclFile = p.resolveFile(fileName);

-                    if (!exclFile.exists())

-                        throw new BuildException("Excludesfile "

-                                                 + exclFile.getAbsolutePath()

-                                                 + " not found.");

-                    readPatterns(exclFile, excludeList, p);

-                }

-            }

-            excludesFileList.removeAllElements();

-        }

-    }

-

-    public String toString()

-    {

-        return "patternSet{ includes: " + includeList + 

-            " excludes: " + excludeList + " }";

-    }

-}

-

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommandDataType.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommandDataType.java
deleted file mode 100644
index 76542fc..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommandDataType.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.util.*;

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.types.*;

-

-/**

- * An Ant data type used to specify commands (builder name and arguments for this builder)

- * while working on projects.

- * <p>

- * The name of the builder must be specified.<br>

- * It is posible to specify arguments with nested elements. It is also 

- * possible to reference this command using a reference id.

- * <p><p>

- * Example:<p>

- *	&lt;command name="Main Builder" id="mainBuilder"&gt;

- * 		&lt;eclipse.argument name="arg1" value="value1"/&gt;

- *  &lt;/command&gt;

- * <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>

- * @see CreateProject, MoveProject, CopyProject

- */

-public class CommandDataType extends DataType {

-	

-	/**

-	 * The name of the builder. It is an identifier defined in the extension points of Eclipse.

-	 */

-	private String name = null;

-	

-	/**

-	 * A vector of Argument objects.

-	 */

-	private HashMap args = null;

-

-	/**

-	 * Inner class that represents a name-value pair.

-	 */

-	public class Argument {

-		private String name;

-

-		/**

-		 * Sets the name of this argument. 

-		 * @param name the name of this argument

-		 */

-		public void setName(String value) {

-			name= value;

-		}

-

-		/**

-		 * Sets the value of this argument. 

-		 * @param value the value of this argument

-		 */

-		public void setValue(String value) {

-			if (value == null)

-				args.remove(name);

-			else

-				args.put(name, value);

-		}

-	}

-	

-	

-/**

- * Constructs a new <code>CommandDataType</code> instance.

- */	

-public CommandDataType() {

-	super();

-	args= new HashMap(5);

-}

-

-public Argument createArgument() {

-	if (isReference())

-		throw new BuildException(Policy.bind("exception.noNestedElements"));

-    return new Argument();

-}

-

-/**

- * Makes this instance in effect a reference to another CommandDataType

- * instance.

- *

- * <p>You must not set attributes, just the reference ID.</p> 

- */

-public void setRefid(Reference r) throws BuildException {

-    if (name != null || !args.isEmpty())

-        throw new BuildException(Policy.bind("exception.noAttributes"));

-    super.setRefid(r);

-}

-

-/**

- * Sets the name of the builder.

- * 

- * @param the name of the builder		

- */

-public void setName(String name) {

-	if (isReference())

-		throw new BuildException(Policy.bind("exception.tooManyAttributes"));

-	this.name = name;

-}

-

-/**

- * Returns the name of the command builer, or the one of the command that is refered to 

- * via the "refid" attribute.

- * 

- * @param the project to which the CommandDataType belongs

- * @return the name of the builder	

- */

-public String getName(Project p) {

-	if (isReference())

-		return getRef(p).getName(p);

-	if (name == null)

-		throw new BuildException(Policy.bind("exception.commandMustHaveName"));

-	return name;

-}

-

-/**

- * Returns the arguments of the command, or the one of the command that is refered to 

- * via the "refid" attribute.<br>

- * The arguments are returned in a <code>HashMap</code> where the names of the arguments

- * are the keys and the values are the actual values in the hashMap.

- * 

- * @param the project to which the CommandDataType belongs

- * @return the hashMap containing the arguments

- */

-public HashMap getArguments(Project p) {

-	if (isReference())

-		return getRef(p).getArguments(p);

-	return args;

-}

-

-/**

- * Performs the check for circular references and returns the

- * referenced PatternSet.

- * 

- * @param the project to which the CommandDataType belongs

- */

-private CommandDataType getRef(Project p) {

-    if (!checked) {

-        Stack stk = new Stack();

-        stk.push(this);

-        dieOnCircularReference(stk, p);

-    }

-    

-    Object o = ref.getReferencedObject(p);

-    if (!(o instanceof CommandDataType)) {

-        throw new BuildException(Policy.bind("exception.doesntDenoteACommand", ref.getRefId()));

-    } else {

-        return (CommandDataType) o;

-    }

-}

-

-}

-

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ConvertPath.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ConvertPath.java
deleted file mode 100644
index 9663275..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ConvertPath.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

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

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

-import java.io.File;

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.types.Path;

-

-/**

- * An Ant task which allows to switch from a file system path to a resource path, 

- * and vice versa, and store the result in a user property which name is set by the user. If the 

- * resource does not exist, the property is set to "false".

- * <p>

- * The attribute "property" must be specified, as well as only one of "fileSystemPath" or "resourcePath".

- * <p><p>

- * Example:<p>

- *	&lt;eclipse.convertPath fileSystemPath="D:\MyWork\MyProject" property="myProject.resourcePath"/&gt;

- * <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.

- */

-public class ConvertPath extends Task {

-	

-	/**

-	 * The file system path.

-	 */

-	private IPath fileSystemPath = null;

-	

-	/**

-	 * The resource path.

-	 */

-	private IPath resourcePath = null;

-	

-	/**

-	 * The name of the property where the result may be stored.

-	 */

-	private String property = null;

-	

-	/**

-	 * The id of the new Path object that may be created.

-	 */

-	private String pathID = null;

-

-

-/**

- * Constructs a new <code>ConvertPath</code> instance.

- */

-public ConvertPath() {

-	super();

-}

-

-/**

- * Performs the project copy operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	

-	validateAttributes();

-	

-	if (fileSystemPath == null) 

-		// here, resourcePath is not null

-		convertResourcePathToFileSystemPath(resourcePath);

-	else

-		convertFileSystemPathToResourcePath(fileSystemPath);

-}

-

-protected void convertFileSystemPathToResourcePath(IPath path) {

-	IResource resource = ResourcesPlugin.getWorkspace().getRoot().getContainerForLocation(path);

-	if (resource == null)

-		throw new BuildException(Policy.bind("exception.noProjectMatchThePath", fileSystemPath.toOSString()));

-	

-	if (property != null)

-		project.setUserProperty(property, resource.getFullPath().toString());

-	if (pathID != null) {

-		Path newPath = new Path(project, resource.getFullPath().toString());

-		project.addReference(pathID, newPath);

-	}

-}

-

-protected void convertResourcePathToFileSystemPath(IPath path) {

-	IResource resource = null;

-	if (path.segmentCount() == 1)

-		resource = ResourcesPlugin.getWorkspace().getRoot().getProject(path.lastSegment());

-	else

-		resource = ResourcesPlugin.getWorkspace().getRoot().getFile(path);

-		

-	if (resource.getLocation() == null)

-		// can occur if the first segment is not a project

-		throw new BuildException(Policy.bind("exception.pathNotValid", path.toString()));

-	

-	if (property != null)

-		project.setUserProperty(property, resource.getLocation().toOSString());

-	if (pathID != null) {

-		Path newPath = new Path(project, resource.getLocation().toOSString());

-		project.addReference(pathID, newPath);

-	}

-}

-

-/**

- * Sets the file system path.

- * 

- * @param the file corresponding to the path supplied by the user

- */

-public void setFileSystemPath(File value) {

-	if (resourcePath != null)

-		throw new BuildException(Policy.bind("exception.cantUseBoth"));

-	fileSystemPath = new org.eclipse.core.runtime.Path(value.toString());

-}

-

-/**

- * Sets the resource path.

- * 

- * @param the path	

- */

-public void setResourcePath(String value) {

-	if (fileSystemPath != null)

-		throw new BuildException(Policy.bind("exception.cantUseBoth"));

-	resourcePath = new org.eclipse.core.runtime.Path(value);

-}

-

-/**

- * Sets the name of the property where the result may stored.

- * 

- * @param the name of the property		

- */

-public void setProperty(String value) {

-	property = value;

-

-}

-

-/**

- * Sets the id for the path where the result may be stored

- * 

- * @param the id of the path

- */

-public void setPathId(String value) {

-	pathID = value;

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-	if (property == null && pathID == null) 

-		throw new BuildException(Policy.bind("exception.propertyAndPathIdNotSpecified"));

-

-	if (resourcePath != null && (!resourcePath.isValidPath(resourcePath.toString()) || resourcePath.isEmpty())) 

-		throw new BuildException(Policy.bind("exception.invalidPath", resourcePath.toOSString()));

-	else if (fileSystemPath != null && !fileSystemPath.isValidPath(fileSystemPath.toOSString())) 

-		throw new BuildException(Policy.bind("exception.invalidPath", fileSystemPath.toOSString()));

-		

-	if (resourcePath == null && fileSystemPath == null)

-		throw new BuildException(Policy.bind("exception.mustHaveOneAttribute"));

-}

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CopyProject.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CopyProject.java
deleted file mode 100644
index aedbcb5..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CopyProject.java
+++ /dev/null
@@ -1,286 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.File;

-import java.util.*;

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

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

-import org.apache.tools.ant.*;

-

-/**

- * An Ant task which copies an existing Eclipse project.

- * <p>

- * The name of the project to copy (source), its new name (destination) and the "force" attribute 

- * must be specified.<br>

- * The comment, the nature(s) and the referenced projects are optional.<br>

- * Concerning the location attribute (the directory where the project will be copied on the file system),

- * there are several cases:<br>

- * <ul>

- * 	<li>If "location" is specified, the project will be copied to the given directory. 

- * 		To specify the default workspace directory, location should be set to "null".

- * 		However, it is not possible to copy the project in the same directory.</li>

- * 	<li>If "location" is not specified, the copy of the project will be located in the

- * 		default worksapce directory.</li>

- * </ul>

- * <br>

- * It is also possible to define commands with nested elements.

- * <p><p>

- * Example:<p>

- *	&lt;eclipse.copyProject source="Foo" destination="Bar" location="D:\MyWork\My Project"/&gt;

- * <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>

- * @see IProject#copy

- * @see CommandDataType

- */

-public class CopyProject extends Task {

-	

-	/**

-	 * The name of the source project.

-	 */

-	private String source = null;

-	

-	/**

-	 * The name of the project after it has been copied.

-	 */

-	private String destination = null;

-

-	/**

-	 * The force attribute.

-	 */

-	private boolean force;

-	// variable used to know if the user has actually set the "force" attribute

-	private boolean isForceSet = false;

-	

-	/**

-	 * The folder where the user wants to move the project.

-	 */

-	private IPath location = null;

-	// variable used to know if the user has specified "null" or not

-	private boolean isLocationSet = false;

-	

-	/**

-	 * The natures, if the user wants to modify them.

-	 */

-	private String[] natures = null;

-	

-	/**

-	 * The comment, if the user wants to modify it

-	 */

-	private String comment = null;

-	

-	/**

-	 * The projects that the project references, if the user wants to modify them

-	 */

-	private IProject[] referencedProjects = null;

-

-	/**

-	 * The builders and their arguments (commands), if the user wants to modify them

-	 */

-	private Vector commands;

-	

-

-/**

- * Constructs a new <code>CopyProject</code> instance.

- */

-public CopyProject() {

-	super();

-	commands = new Vector();

-}

-

-/**

- * Performs the project copy operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	

-	validateAttributes();

-	

-	IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject(source);

-	

-	try {

-		if (!newProject.exists()) 

-			throw new BuildException(Policy.bind("exception.projectDoesntExist", source));

-			

-		IProject temp = ResourcesPlugin.getWorkspace().getRoot().getProject(destination);

-		if (temp.exists())

-			throw new BuildException(Policy.bind("exception.nameAlreadyUsed", destination));

-			

-		if (!newProject.isOpen())

-			newProject.open(null);

-		

-		IProjectDescription desc = newProject.getDescription();

-		desc.setName(destination);

-		setLocationToDescription(newProject, desc);

-		

-		if (natures != null)

-			desc.setNatureIds(natures);

-		if (comment != null)

-			desc.setComment(comment);

-		if (referencedProjects != null)

-			desc.setReferencedProjects(referencedProjects);

-		if (!commands.isEmpty())

-			desc.setBuildSpec(createCommands(desc));

-			

-		newProject.copy(desc, force, null);

-		

-	} catch (CoreException e) {

-		throw new BuildException(e);

-	}

-}

-

-protected void setLocationToDescription(IProject newProject, IProjectDescription desc) {

-	if (isLocationSet) {

-		// the user wants to change the location.

-		// location can be null if the user set the attribute to "null" in order to copy the folder in the default workspace directory

-		if (location!= null && !ResourcesPlugin.getWorkspace().validateProjectLocation(newProject, location).isOK())

-			throw new BuildException(Policy.bind("exception.folderAlreadyUsedForAnotherProject"));

-	}

-	desc.setLocation(location);

-}

-

-protected ICommand[] createCommands(IProjectDescription description) {

-	ICommand[] commandArray = new ICommand[commands.size()];

-	int index = 0;

-	for (Iterator i = commands.iterator(); i.hasNext();) {

-		CommandDataType b = (CommandDataType) i.next();

-		commandArray[index] = description.newCommand();

-		// needs the project of this target to be able to get the name and the arguments

-		commandArray[index].setBuilderName(b.getName(project));

-		commandArray[index].setArguments(b.getArguments(project));

-		index++;

-	}

-	return commandArray;

-}

-

-/**

- * Sets the name of the source project that the user wants to copy.

- * 

- * @param the name of the project		

- */

-public void setSource(String value) {

-	source = value;

-}

-

-/**

- * Sets the new name for the project.

- * 

- * @param the new name	

- */

-public void setDestination(String value) {

-	destination = value;

-}

-

-/**

- * Sets the force attribute.

- * 

- * @param true/false		

- */

-public void setForce(boolean value) {

-	force = value;

-	isForceSet = true;

-}

-

-/**

- * Sets the directory where the project will be copied. The parameter is a String

- * and not a File because the user can specify "null" if he wants to refer to the

- * default workspace directory.

- * 

- * @param the name of the folder or "null" for the default workspace directory

- */

-public void setLocation(String value) {

-	isLocationSet = true;

-	if (value.equals("null"))

-		// we leave the location as it currently is (i.e. null)

-		return;

-	location = new Path(value);

-	if (!location.isAbsolute()) {

-		// the location can be relative if the user used a period in the path

-		org.eclipse.core.runtime.Path defaultPath = new org.eclipse.core.runtime.Path(project.getBaseDir().toString());

-		location = defaultPath.append(location);

-	}

-}

-

-/**

- * Sets the natures for the project. They are given as a list of nature identifers

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setNatures(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	while (tokenizer.hasMoreTokens())

-		vect.add(((String)tokenizer.nextToken()).trim());

-	natures = new String[vect.size()];

-	vect.toArray(natures);

-}

-

-/**

- * Sets the comment for the project.

- * 

- * @param the comment

- */

-public void setComment(String value) {

-	comment = value;

-}

-

-/**

- * Sets the projects that the project references. They are given as a list of project names

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setReferencedProjects(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	while (tokenizer.hasMoreTokens()) {

-		IProject currentProject = ResourcesPlugin.getWorkspace().getRoot().getProject(((String) tokenizer.nextToken()).trim());

-		if (currentProject.exists())

-			vect.add(currentProject);

-		else

-			throw new BuildException(Policy.bind("exception.unknownProject", currentProject.getName()));

-	}

-		

-	referencedProjects = new IProject[vect.size()];

-	vect.toArray(referencedProjects);

-}

-

-/**

- * Adds a CommandDataType object to the set of commands specified for this project.

- * 

- * @param the command

- */

-public void addCommand(CommandDataType command) {

-	commands.add(command);

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-	if (source == null) 

-		throw new BuildException(Policy.bind("exception.sourceNotSpecified"));

-

-	if (destination == null) 

-		throw new BuildException(Policy.bind("exception.destinationNotSpecified"));

-

-	if (location!= null && !location.isValidPath(location.toOSString()))

-		throw new BuildException(Policy.bind("exception.invalidPath", location.toOSString()));

-	

-	if (!isForceSet)

-		throw new BuildException(Policy.bind("exception.forceNotSpecified"));

-}

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CreateProject.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CreateProject.java
deleted file mode 100644
index 089d5b9..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CreateProject.java
+++ /dev/null
@@ -1,220 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

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

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

-import java.io.File;

-import java.util.*;

-import org.apache.tools.ant.*;

-

-/**

- * An Ant task which creates an Eclipse project.

- * <p>

- * The name of the project to create must be specified.<br>

- * The directory where the project is located on the file system, the comment, the nature(s)

- * and the referenced projects are optional. If the directory is not specified, the project will be

- * located in the default workspace folder.<br>

- * It is also possible to define commands with nested elements.

- * <p><p>

- * Example:<p>

- *	&lt;eclipse.createProject name="My Project" location="D:\MyWork\FirstProject" 

- *  natures="org.eclipse.jdt.core.javanature"/&gt;

- * <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>

- * @see IProject#create

- * @see CommandDataType

- */

-public class CreateProject extends Task {

-	

-	/**

-	 * The name of the project.

-	 */

-	private String name = null;

-	

-	/**

-	 * The location of the project.

-	 */

-	private IPath location = null;

-	

-	/**

-	 * The nature of the project.

-	 */

-	private String[] natures = null;

-	

-	/**

-	 * The comment for this project

-	 */

-	private String comment = null;

-	

-	/**

-	 * The projects that the project references

-	 */

-	private IProject[] referencedProjects = null;

-

-	/**

-	 * The builders and their arguments (commands)

-	 */

-	private Vector commands;

-

-

-/**

- * Constructs a new <code>CreateProject</code> instance.

- */

-public CreateProject() {

-	super();

-	commands = new Vector();

-}

-

-/**

- * Performs the project creation operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	

-	validateAttributes();

-	

-	IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject(name);

-	

-	try {

-		if (newProject.exists())

-			throw new BuildException(Policy.bind("exception.nameAlreadyUsed", name));

-			

-		IProjectDescription description = ResourcesPlugin.getWorkspace().newProjectDescription(project.getName());

-		description.setName(name);

-		description.setLocation(location);

-		if (comment != null)

-			description.setComment(comment);

-		if (referencedProjects != null)

-			description.setReferencedProjects(referencedProjects);

-		if (!commands.isEmpty())

-			description.setBuildSpec(createCommands(description));

-		

-		newProject.create(description, null);

-		newProject.open(null);

-		

-		if (natures!=null) {

-			// should be able to do that while creating the project, but it doesn't seem to work until the project is opened.

-			// see Project#checkAccessible while JavaNature tries to configure the project.

-			IProjectDescription desc = newProject.getDescription();

-			description.setNatureIds(natures);

-			newProject.setDescription(desc, null);

-		}

-		

-	} catch (CoreException e) {

-		if (newProject.exists())

-			try {

-				newProject.delete(true, true, null);

-			} catch (CoreException ce) {

-			}

-		throw new BuildException(e);

-	}

-}

-

-protected ICommand[] createCommands(IProjectDescription description) {

-	ICommand[] commandArray = new ICommand[commands.size()];

-	int index = 0;

-	for (Iterator i = commands.iterator(); i.hasNext();) {

-		CommandDataType b = (CommandDataType) i.next();

-		commandArray[index] = description.newCommand();

-		// needs the project of this target to be able to get the name and the arguments

-		commandArray[index].setBuilderName(b.getName(project));

-		commandArray[index].setArguments(b.getArguments(project));

-		index++;

-	}

-	return commandArray;

-}

-

-/**

- * Sets the name of the project that the user wants to create.

- * 

- * @param the name of the project		

- */

-public void setName(String value) {

-	name = value;

-}

-

-/**

- * Sets the folder where the project should be created.

- * 

- * @param the file corresponding to the folder specified by the user

- */

-public void setLocation(File value) {

-	 location = new Path(value.toString());

-}

-

-/**

- * Sets the natures for the project. They are given as a list of nature identifers

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setNatures(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	while (tokenizer.hasMoreTokens())

-		vect.add(((String)tokenizer.nextToken()).trim());

-	natures = new String[vect.size()];

-	vect.toArray(natures);

-}

-

-/**

- * Sets the comment for the project.

- * 

- * @param the comment

- */

-public void setComment(String value) {

-	comment = value;

-}

-

-/**

- * Sets the projects that the project references. They are given as a list of project names

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setReferencedProjects(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	IWorkspaceRoot root =  ResourcesPlugin.getWorkspace().getRoot();

-	while (tokenizer.hasMoreTokens()) {

-		IProject currentProject = root.getProject(((String) tokenizer.nextToken()).trim());

-		vect.add(currentProject);

-	}

-		

-	referencedProjects = new IProject[vect.size()];

-	vect.toArray(referencedProjects);

-}

-

-/**

- * Adds a CommandDataType object to the set of commands specified for this project.

- * 

- * @param the command

- */

-public void addCommand(CommandDataType command) {

-	commands.add(command);

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-	if (name == null) 

-		throw new BuildException(Policy.bind("exception.nameNotSpecified"));

-	

-	if (location!=null && !location.isValidPath(location.toOSString()))

-		throw new BuildException(Policy.bind("exception.invalidPath", location.toOSString()));

-}

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/DeleteProject.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/DeleteProject.java
deleted file mode 100644
index 8d87cdc..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/DeleteProject.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

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

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

-import org.apache.tools.ant.*;

-

-/**

- * An Ant task which deletes an existing Eclipse project.

- * <p>

- * The name of the project to delete, as well as the force and 

- * the deleteContent attributes, must be specified.

- * <p><p>

- * Example:<p>

- *	&lt;eclipse.deleteProject name="My Project" force="true" deleteContent="true"/&gt;

- * <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>

- * @see IProject#delete

- */

-public class DeleteProject extends Task {

-	

-	/**

-	 * The name of the project.

-	 */

-	private String name = null;

-	

-	/**

-	 * The force attribute for the deletion.

-	 */

-	private boolean force;

-	// isForceSet is used to know if the user has actually set this attribute

-	private boolean isForceSet = false;

-	

-	/**

-	 * The deleteContent attribute for the deletion.

-	 */

-	private boolean deleteContent;

-	// same as for Force

-	private boolean isDeleteContentSet = false;

-	

-

-/**

- * Constructs a new <code>DeleteProject</code> instance.

- */

-public DeleteProject() {

-	super();

-}

-

-/**

- * Performs the project deletion operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	

-	validateAttributes();

-	

-	IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(name);

-	

-	try {

-		if (!project.exists())

-			throw new BuildException(Policy.bind("exception.projectDoesntExist", name));

-			

-		if (!project.isOpen())

-			project.open(null);

-		

-		project.delete(deleteContent, force, null);

-			

-	} catch (CoreException e) {

-		throw new BuildException(e);

-	}

-}

-

-/**

- * Sets the name of the project that the user wants to delete.

- * 

- * @param the name of the project		

- */

-public void setName(String value) {

-	name = value;

-}

-

-/**

- * Sets the force attribute.

- * 

- * @param true/false		

- */

-public void setForce(boolean value) {

-	force = value;

-	isForceSet = true;

-}

-

-/**

- * Sets the deleteContent attribute.

- * 

- * @param true/false		

- */

-public void setDeleteContent(boolean value) {

-	deleteContent = value;

-	isDeleteContentSet = true;

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-	if (name == null) 

-		throw new BuildException(Policy.bind("exception.nameNotSpecified"));

-		

-	if (!isForceSet)

-		throw new BuildException(Policy.bind("exception.forceNotSpecified"));

-		

-	if (!isDeleteContentSet)

-		throw new BuildException(Policy.bind("exception.deleteContentNotSpecified"));

-}

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseAnt.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseAnt.java
deleted file mode 100644
index abc4694..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseAnt.java
+++ /dev/null
@@ -1,346 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 1999 The Apache Software Foundation.  All rights

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer.

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:

- *       "This product includes software developed by the

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.taskdefs.Property;

-import org.apache.tools.ant.taskdefs.Ant;

-import org.apache.tools.ant.util.FileUtils;

-import java.io.*;

-import java.util.*;

-

-/**

- * Call Ant in a sub-project.

- * This is a bulk copy of the original Ant task.  Unfortunately the original

- * created a new Project in which to run Ant.  This prevents people from

- * providing their own kind of Project and having that propogate into

- * the subprojects.

- * <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 class EclipseAnt extends Ant {

-

-    /** the basedir where is executed the build file */

-    private File dir = null;

-    

-    /** the build.xml file (can be absolute) in this case dir will be ignored */

-    private String antFile = null;

-    

-    /** the target to call if any */

-    private String target = null;

-    

-    /** the output */

-    private String output = null;

-    

-    /** should we inherit properties from the parent ? */

-    private boolean inheritAll = true;

-    

-    /** the properties to pass to the new project */

-    private Vector properties = new Vector();

-    

-    /** the temporary project created to run the build file */

-    private Project newProject;

-

-	private final static String DEFAULT_ANTFILE = "build.xml";

-

-/**

- * Creates and returns a new <code>Property</code> for the receiver's

- * target project.

- * 

- * @return the new property

- */

-public Property createProperty() {

-    if (newProject == null) {

-        reinit();

-    }

-    Property p=(Property)newProject.createTask("property");

-    p.setUserProperty(true);

-    properties.addElement( p );

-    return p;

-}

-

-/**

- * Performs the execution.

- * 

- * @exception BuildException thrown if an execution problem occurs

- */

-public void execute() throws BuildException {

-    try {

-        if (newProject == null) {

-            reinit();

-        }

-    

-        if (dir == null) {

-            dir = project.getBaseDir();

-        }

-

-        initializeProject();

-

-        newProject.setBaseDir(dir);

-        newProject.setUserProperty("basedir" , dir.getAbsolutePath());

-        

-        // Override with local-defined properties

-        Enumeration e = properties.elements();

-        while (e.hasMoreElements()) {

-            Property p=(Property) e.nextElement();

-            p.execute();

-        }

-        

-        if (antFile == null){

-            antFile = DEFAULT_ANTFILE;

-        }

-

-        File file = FileUtils.newFileUtils().resolveFile(dir, antFile);

-        antFile = file.getAbsolutePath();

-

-        newProject.setUserProperty( "ant.file" , antFile );

-        ProjectHelper.configureProject(newProject, new File(antFile));

-        

-        if (target == null) {

-            target = newProject.getDefaultTarget();

-        }

-

-        // Are we trying to call the target in which we are defined?

-        if (newProject.getBaseDir().equals(project.getBaseDir()) &&

-            newProject.getProperty("ant.file").equals(project.getProperty("ant.file")) &&

-            getOwningTarget() != null &&

-            target.equals(this.getOwningTarget().getName())) { 

-

-            throw new BuildException(Policy.bind("exception.antTaskCallingParentTarget"));

-        }

-

-        newProject.executeTarget(target);

-    } finally {

-        // help the gc

-        newProject = null;

-    }

-}

-

-/**

- * Initializes the receiver.

- */

-public void init() {

-	// This method used to create a Project, not an EclipseProject.

-	// It has been changed so that it is possible to use Eclipse Ant tasks (such as eclipse.refreshLocal)

-	// in Ant scripts called by through an "ant" task. Indeed, only an EclipseProject knows how to find them.

-	// We need to check that it doesn't introduce new bugs.

-	newProject = new EclipseProject();

-	newProject.setJavaVersionProperty();

-	newProject.addTaskDefinition("property", 

-                         (Class)project.getTaskDefinitions().get("property"));

-}

-

-/**

- * Initializes the target project.

- */

-private void initializeProject() {

-    Vector listeners = project.getBuildListeners();

-    for (int i = 0; i < listeners.size(); i++) {

-        newProject.addBuildListener((BuildListener)listeners.elementAt(i));

-    }

-

-    if (output != null) {

-        try {

-            PrintStream out = new PrintStream(new FileOutputStream(output));

-            DefaultLogger logger = new DefaultLogger();

-            logger.setMessageOutputLevel(Project.MSG_INFO);

-            logger.setOutputPrintStream(out);

-            logger.setErrorPrintStream(out);

-            newProject.addBuildListener(logger);

-        }

-        catch( IOException ex ) {

-            log(Policy.bind("exception.cannotSetOutput",output));

-        }

-    }

-

-    Hashtable taskdefs = project.getTaskDefinitions();

-    Enumeration et = taskdefs.keys();

-    while (et.hasMoreElements()) {

-        String taskName = (String) et.nextElement();

-        Class taskClass = (Class) taskdefs.get(taskName);

-        newProject.addTaskDefinition(taskName, taskClass);

-    }

-

-    Hashtable typedefs = project.getDataTypeDefinitions();

-    Enumeration e = typedefs.keys();

-    while (e.hasMoreElements()) {

-        String typeName = (String) e.nextElement();

-        Class typeClass = (Class) typedefs.get(typeName);

-        newProject.addDataTypeDefinition(typeName, typeClass);

-    }

-

-    // set user-defined or all properties from calling project

-    Hashtable prop1;

-    if (inheritAll == true) {

-       prop1 = project.getProperties();

-    }

-    else {

-       prop1 = project.getUserProperties();

-

-       // set Java built-in properties separately,

-       // b/c we won't inherit them.

-       newProject.setSystemProperties();

-    }

-    

-    e = prop1.keys();

-    while (e.hasMoreElements()) {

-        String arg = (String) e.nextElement();

-        String value = (String) prop1.get(arg);

-        if (inheritAll == true){

-           newProject.setProperty(arg, value);

-        } else {

-           newProject.setUserProperty(arg, value);

-        }

-    }

-}

-

-/**

- * Reinitializes the receiver.

- */

-private void reinit() {

-    init();

-    for (int i=0; i<properties.size(); i++) {

-        Property p = (Property) properties.elementAt(i);

-        Property newP = (Property) newProject.createTask("property");

-        newP.setName(p.getName());

-        if (p.getValue() != null) {

-            newP.setValue(p.getValue());

-        }

-        if (p.getFile() != null) {

-            newP.setFile(p.getFile());

-        } 

-        if (p.getResource() != null) {

-            newP.setResource(p.getResource());

-        }

-        properties.setElementAt(newP, i);

-    }

-}

-

-/**

- * set the build file, it can be either absolute or relative.

- * If it is absolute, <tt>dir</tt> will be ignored, if it is

- * relative it will be resolved relative to <tt>dir</tt>.

- * 

- * @param s the <b>Ant</b> file location

- */

-public void setAntfile(String s) {

-    // @note: it is a string and not a file to handle relative/absolute

-    // otherwise a relative file will be resolved based on the current

-    // basedir.

-    this.antFile = s;

-}

-

-/**

- * Sets the receiver's target directory.

- * 

- * @param s the target directory

- */

-public void setDir(File d) {

-	this.dir = d;

-}

-

-/**

- * Sets the receiver's output destination.

- * 

- * @param s the output destination

- */

-public void setOutput(String s) {

-	this.output = s;

-}

-

-/**

- * set the target to execute. If none is defined it will

- * execute the default target of the build file

- * 

- * @param s the <b>Ant</b> target to execute

- */

-public void setTarget(String s) {

-	this.target = s;

-}

-protected void handleErrorOutput(String line) {

-    if (newProject != null) {

-        newProject.demuxOutput(line, true);

-    }

-    else {

-        super.handleErrorOutput(line);

-    }

-}

-protected void handleOutput(String line) {

-    if (newProject != null) {

-        newProject.demuxOutput(line, false);

-    }

-    else {

-        super.handleOutput(line);

-    }

-}

-/**

- * If true, inherit all properties from parent Project

- * If false, inherit only userProperties and those defined

- * inside the ant call itself

- */

-public void setInheritAll(boolean value) {

-   inheritAll = value;

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCompilerAdapterFactory.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCompilerAdapterFactory.java
deleted file mode 100644
index bef6722..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCompilerAdapterFactory.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

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

-

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory;

-import org.apache.tools.ant.taskdefs.compilers.CompilerAdapter;

-import java.util.Map;

-

-/**

- * Static helper functionality for finding the correct compiler adapter to use for the current

- * Javac task.  This class logically wrappers the standard Ant 

- * <code>CompilerAdapterFactory</code>.  It changes the behavior to use the

- * Ant plug-ins object class registry to find the compiler adapter class.  This is needed

- * because of the platform's class loading strategy (otherwise the Ant plug-in would likely not

- * be able to see the other classes).

- * <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 class EclipseCompilerAdapterFactory {

-

-private EclipseCompilerAdapterFactory() {

-}

-/**

- * Returns the <code>CompilerAdapter</code> to use given a compiler type and task.

- * 

- * @return the compiler adapter to use

- * @param compilerType the type of compiler

- * @param task the task

- * @exception BuildException thrown if a problem occurs while returning the adapter

- */

-public static CompilerAdapter getCompiler(String compilerType, Task task) throws BuildException {

-	try {

-		return CompilerAdapterFactory.getCompiler(compilerType, task);

-	} catch (BuildException be) {

-		if (AntPlugin.getPlugin() == null)

-			throw be;

-		Map objects = AntPlugin.getPlugin().getObjectExtensions();

-		if (objects == null)

-			throw be;

-		IConfigurationElement declaration = (IConfigurationElement) objects.get(compilerType);

-		if (declaration == null)

-			throw be;

-		String className = declaration.getAttribute(AntPlugin.CLASS);

-		try {

-			Class clazz = declaration.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader().loadClass(className);

-			return (CompilerAdapter) clazz.newInstance();

-		} catch (ClassNotFoundException e) {

-			throw new BuildException(Policy.bind("exception.classNotFound",className), e);

-		} catch (ClassCastException e) {

-			throw new BuildException(Policy.bind("exception.classNotCompiler",className), e);

-		} catch (Exception e) {

-			throw new BuildException(Policy.bind("exception.creationProblem",className), e);

-		}

-	}

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCopy.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCopy.java
deleted file mode 100644
index 0990d25..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCopy.java
+++ /dev/null
@@ -1,413 +0,0 @@
-package org.eclipse.ant.core;

-/*

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

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 1999 The Apache Software Foundation.  All rights

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer.

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:

- *       "This product includes software developed by the

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.taskdefs.Copy;

-import org.apache.tools.ant.types.*;

-import org.apache.tools.ant.util.*;

-

-import java.io.*;

-import java.util.*;

-/**

- * Ant task which replaces the standard Ant Copy task.  This version of the task

- * is necessary in order to copy permissions of files as well.

- * <p>

- * This task can be used as a direct replacement for the original Copy task

- * </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>

- */

-public class EclipseCopy extends Copy {

-    protected File file = null;     // the source file 

-    protected File destFile = null; // the destination file 

-    protected File destDir = null;  // the destination directory

-    protected Vector filesets = new Vector();

-

-    protected boolean filtering = false;

-    protected boolean preserveLastModified = false;

-    protected boolean forceOverwrite = false;

-    protected boolean flatten = false;

-    protected int verbosity = Project.MSG_VERBOSE;

-    protected boolean includeEmpty = true;

-

-    protected Hashtable fileCopyMap = new Hashtable();

-    protected Hashtable dirCopyMap = new Hashtable();

-

-    protected Mapper mapperElement = null;

-    private Vector filterSets = new Vector();

-    private FileUtils fileUtils;

-    

-    public EclipseCopy() {

-    	super();

-        fileUtils = new EclipseFileUtils();

-    }

-

-    protected FileUtils getFileUtils() {return fileUtils;}

-

-    /**

-     * Sets a single source file to copy.

-     */

-    public void setFile(File file) {

-        this.file = file;

-    }

-

-    /**

-     * Sets the destination file.

-     */

-    public void setTofile(File destFile) {

-        this.destFile = destFile;

-    }

-

-    /**

-     * Sets the destination directory.

-     */

-    public void setTodir(File destDir) {

-        this.destDir = destDir;

-    }

-

-    /**

-     * Create a nested filterset

-     */

-    public FilterSet createFilterSet() {

-        FilterSet filterSet = new FilterSet();

-        filterSets.addElement(filterSet);

-        return filterSet;

-    }

-    

-    /**

-     * Give the copied files the same last modified time as the original files.

-     */

-    public void setPreserveLastModified(String preserve) {

-        preserveLastModified = Project.toBoolean(preserve);

-    }

-

-    /**

-     * Get the filtersets being applied to this operation.

-     *

-     * @return a vector of FilterSet objects

-     */

-    protected Vector getFilterSets() {

-        return filterSets;

-    }

-    

-    /**

-     * Sets filtering.

-     */

-    public void setFiltering(boolean filtering) {

-        this.filtering = filtering;

-    }

-

-    /**

-     * Overwrite any existing destination file(s).

-     */

-    public void setOverwrite(boolean overwrite) {

-        this.forceOverwrite = overwrite;

-    }

-

-    /**

-     * When copying directory trees, the files can be "flattened"

-     * into a single directory.  If there are multiple files with

-     * the same name in the source directory tree, only the first

-     * file will be copied into the "flattened" directory, unless

-     * the forceoverwrite attribute is true.

-     */

-    public void setFlatten(boolean flatten) {

-        this.flatten = flatten;

-    }

-

-    /**

-     * Used to force listing of all names of copied files.

-     */

-    public void setVerbose(boolean verbose) {

-        if (verbose) {

-            this.verbosity = Project.MSG_INFO;

-        } else {

-            this.verbosity = Project.MSG_VERBOSE;

-        } 

-    } 

-

-    /**

-     * Used to copy empty directories.

-     */

-    public void setIncludeEmptyDirs(boolean includeEmpty) {

-        this.includeEmpty = includeEmpty;

-    }

-

-    /**

-     * Adds a set of files (nested fileset attribute).

-     */

-    public void addFileset(FileSet set) {

-        filesets.addElement(set);

-    }

-

-    /**

-     * Defines the FileNameMapper to use (nested mapper element).

-     */

-    public Mapper createMapper() throws BuildException {

-        if (mapperElement != null) {

-            throw new BuildException("Cannot define more than one mapper",

-                                     location);

-        }

-        mapperElement = new Mapper(project);

-        return mapperElement;

-    }

-

-    /**

-     * Performs the copy operation.

-     */

-    public void execute() throws BuildException {

-        // make sure we don't have an illegal set of options

-        validateAttributes();   

-

-        // deal with the single file

-        if (file != null) {

-            if (file.exists()) {

-                if (destFile == null) {

-                    destFile = new File(destDir, file.getName());

-                }

-                

-                if (forceOverwrite || 

-                    (file.lastModified() > destFile.lastModified())) {

-                    fileCopyMap.put(file.getAbsolutePath(), destFile.getAbsolutePath());

-                } else {

-                    log(file + " omitted as " + destFile + " is up to date.",

-                        Project.MSG_VERBOSE);

-                }

-            } else {

-                String message = "Could not find file " 

-                                 + file.getAbsolutePath() + " to copy.";

-                log(message);

-                throw new BuildException(message);

-            }

-        }

-

-        // deal with the filesets

-        for (int i=0; i<filesets.size(); i++) {

-            FileSet fs = (FileSet) filesets.elementAt(i);

-            DirectoryScanner ds = fs.getDirectoryScanner(project);

-            File fromDir = fs.getDir(project);

-

-            String[] srcFiles = ds.getIncludedFiles();

-            String[] srcDirs = ds.getIncludedDirectories();

-

-            scan(fromDir, destDir, srcFiles, srcDirs);

-        }

-

-        // do all the copy operations now...

-        doFileOperations();

-

-        // clean up destDir again - so this instance can be used a second

-        // time without throwing an exception

-        if (destFile != null) {

-            destDir = null;

-        }

-    }

-

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

-//  protected and private methods

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

-

-    /**

-     * Ensure we have a consistent and legal set of attributes, and set

-     * any internal flags necessary based on different combinations 

-     * of attributes.

-     */

-    protected void validateAttributes() throws BuildException {

-        if (file == null && filesets.size() == 0) {

-            throw new BuildException("Specify at least one source - a file or a fileset.");

-        }

-

-        if (destFile != null && destDir != null) {

-            throw new BuildException("Only one of destfile and destdir may be set.");

-        }

-

-        if (destFile == null && destDir == null) {

-            throw new BuildException("One of destfile or destdir must be set.");

-        }

-

-        if (file != null && file.exists() && file.isDirectory()) {

-            throw new BuildException("Use a fileset to copy directories.");

-        }

-           

-        if (destFile != null && filesets.size() > 0) {

-            throw new BuildException("Cannot concatenate multple files into a single file.");

-        }

-

-        if (destFile != null) {

-            destDir = new File(destFile.getParent());   // be 1.1 friendly

-        }

-

-    }

-

-    /**

-     * Compares source files to destination files to see if they should be

-     * copied.

-     */

-    protected void scan(File fromDir, File toDir, String[] files, String[] dirs) {

-        FileNameMapper mapper = null;

-        if (mapperElement != null) {

-            mapper = mapperElement.getImplementation();

-        } else if (flatten) {

-            mapper = new FlatFileNameMapper();

-        } else {

-            mapper = new IdentityMapper();

-        }

-

-        buildMap(fromDir, toDir, files, mapper, fileCopyMap);

-

-        if (includeEmpty) {

-            buildMap(fromDir, toDir, dirs, mapper, dirCopyMap);

-        }

-    }

-

-    protected void buildMap(File fromDir, File toDir, String[] names,

-                            FileNameMapper mapper, Hashtable map) {

-

-        String[] toCopy = null;

-        if (forceOverwrite) {

-            Vector v = new Vector();

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

-                if (mapper.mapFileName(names[i]) != null) {

-                    v.addElement(names[i]);

-                }

-            }

-            toCopy = new String[v.size()];

-            v.copyInto(toCopy);

-        } else {

-            SourceFileScanner ds = new SourceFileScanner(this);

-            toCopy = ds.restrict(names, fromDir, toDir, mapper);

-        }

-        

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

-            File src = new File(fromDir, toCopy[i]);

-            File dest = new File(toDir, mapper.mapFileName(toCopy[i])[0]);

-            map.put( src.getAbsolutePath(), dest.getAbsolutePath() );

-        }

-    }

-

-    /**

-     * Actually does the file (and possibly empty directory) copies.

-     * This is a good method for subclasses to override.

-     */

-    protected void doFileOperations() {

-        if (fileCopyMap.size() > 0) {

-            log("Copying " + fileCopyMap.size() + 

-                " file" + (fileCopyMap.size() == 1 ? "" : "s") + 

-                " to " + destDir.getAbsolutePath() );

-

-            Enumeration e = fileCopyMap.keys();

-            while (e.hasMoreElements()) {

-                String fromFile = (String) e.nextElement();

-                String toFile = (String) fileCopyMap.get(fromFile);

-

-                if( fromFile.equals( toFile ) ) {

-                    log("Skipping self-copy of " + fromFile, verbosity);

-                    continue;

-                }

-

-                try {

-                    log("Copying " + fromFile + " to " + toFile, verbosity);

-                    

-                    FilterSetCollection executionFilters = new FilterSetCollection();

-                    if (filtering) {

-                        executionFilters.addFilterSet(project.getGlobalFilterSet());

-                    }

-                    for (Enumeration filterEnum = filterSets.elements(); filterEnum.hasMoreElements();) {

-                        executionFilters.addFilterSet((FilterSet)filterEnum.nextElement());

-                    }

-                    fileUtils.copyFile(fromFile, toFile, executionFilters,

-                                       forceOverwrite, preserveLastModified);

-                } catch (IOException ioe) {

-                    String msg = "Failed to copy " + fromFile + " to " + toFile

-                        + " due to " + ioe.getMessage();

-                    throw new BuildException(msg, ioe, location);

-                }

-            }

-        }

-

-        if (includeEmpty) {

-            Enumeration e = dirCopyMap.elements();

-            int count = 0;

-            while (e.hasMoreElements()) {

-                File d = new File((String)e.nextElement());

-                if (!d.exists()) {

-                    if (!d.mkdirs()) {

-                        log("Unable to create directory " + d.getAbsolutePath(), Project.MSG_ERR);

-                    } else {

-                        count++;

-                    }

-                }

-            }

-

-            if (count > 0) {

-                log("Copied " + count + 

-                    " empty director" + 

-                    (count==1?"y":"ies") + 

-                    " to " + destDir.getAbsolutePath());

-            }

-        }

-    }

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseFileUtils.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseFileUtils.java
deleted file mode 100644
index 48d73c0..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseFileUtils.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.ant.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.File;

-import java.io.IOException;

-import java.io.UnsupportedEncodingException;

-

-import org.apache.tools.ant.types.FilterSetCollection;

-import org.apache.tools.ant.util.FileUtils;

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

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

-/**

- * Subclasses FileUtiles from Ant to extend its

- * funtionalities.

- */

-public class EclipseFileUtils extends FileUtils {

-

-	/** Indicates the default string encoding on this platform */

-	private static String defaultEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding();

-

-	/** instance of this library */

-	private static final String LIBRARY_NAME = "core_2_0_5";

-	private static boolean hasNatives = false;

-	

-	static {

-		try {

-			System.loadLibrary(LIBRARY_NAME);

-			hasNatives = true;

-		} catch (UnsatisfiedLinkError e) {

-			logMissingNativeLibrary(e);

-		}

-	}

-	

-public void copyFile(File sourceFile, File destFile, FilterSetCollection filters, boolean overwrite, boolean preserveLastModified) throws IOException {

-	super.copyFile(sourceFile, destFile, filters, overwrite, preserveLastModified);

-	if (hasNatives)

-		internalCopyAttributes(toPlatformBytes(sourceFile.getAbsolutePath()), toPlatformBytes(destFile.getAbsolutePath()), preserveLastModified);

-}

-/**

- * Copies file attributes from source to destination. The copyLastModified attribute

- * indicates whether the lastModified attribute should be copied.

- */

-protected static boolean copyAttributes(String source, String destination, boolean copyLastModified) {

-	if (hasNatives)

-		return internalCopyAttributes(toPlatformBytes(source), toPlatformBytes(destination), false);

-	return false; // not supported

-}

-/**

- * Copies file attributes from source to destination. The copyLastModified attribute

- * indicates whether the lastModified attribute should be copied.

- */

-private static final native boolean internalCopyAttributes(byte[] source, byte[] destination, boolean copyLastModified);

-

-private static void logMissingNativeLibrary(UnsatisfiedLinkError e) {

-	String libName = System.mapLibraryName(LIBRARY_NAME);

-	String message = Policy.bind("info.couldNotLoadLibrary", libName);

-	IStatus status = new Status(IStatus.INFO, AntPlugin.PI_ANT, IStatus.INFO, message, e);

-	AntPlugin.getPlugin().getLog().log(status);

-}

-/**

- * Calling String.getBytes() creates a new encoding object and other garbage.

- * This can be avoided by calling String.getBytes(String encoding) instead.

- */

-protected static byte[] toPlatformBytes(String target) {

-	if (defaultEncoding == null)

-		return target.getBytes();

-	// try to use the default encoding

-	try {

-		return target.getBytes(defaultEncoding);

-	} catch (UnsupportedEncodingException e) {

-		// null the default encoding so we don't try it again

-		defaultEncoding = null;

-		return target.getBytes();

-	}

-}

-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseJavac.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseJavac.java
deleted file mode 100644
index 0b3f29a..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseJavac.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 1999 The Apache Software Foundation.  All rights

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer.

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:

- *       "This product includes software developed by the

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-

-import org.apache.tools.ant.taskdefs.Javac;

-import org.apache.tools.ant.BuildException;

-import org.apache.tools.ant.types.Path;

-import java.io.File;

-import org.apache.tools.ant.DirectoryScanner;

-import org.apache.tools.ant.Project;

-import org.apache.tools.ant.taskdefs.compilers.CompilerAdapter;

-

-/**

- * Ant task which replaces the standard Ant Javac task.  This version of the task

- * uses a special compiler adapter factory which in turn uses the Ant plug-in's

- * object class registry to find the class to use for compiler adapters.  This is required

- * because of the platform's classloading strategy.

- * <p>

- * This task can be used as a direct replacement for the original Javac task

- * </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>

- */

-

-public class EclipseJavac extends Javac {

-	

-/**

- * Executes the task.

- * 

- * @exception BuildException thrown if a problem occurs during execution

- */

-public void execute() throws BuildException {

-	// first off, make sure that we've got a srcdir

-

-	Path src = getSrcdir();

-	if (src == null)

-		throw new BuildException(Policy.bind("exception.missingSrcAttribute"), location);

-	String[] list = src.list();

-	if (list.length == 0)

-		throw new BuildException(Policy.bind("exception.missingSrcAttribute"), location);

-

-	File destDir = getDestdir();

-	if (destDir != null && !destDir.isDirectory())

-		throw new BuildException(Policy.bind("exception.missingDestinationDir",destDir.toString()), location);

-

-	// scan source directories and dest directory to build up 

-	// compile lists

-	resetFileLists();

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

-		File srcDir = (File) project.resolveFile(list[i]);

-		if (!srcDir.exists()) {

-			throw new BuildException(Policy.bind("exception.missingSourceDir",srcDir.getPath()), location);

-		}

-

-		DirectoryScanner ds = this.getDirectoryScanner(srcDir);

-

-		String[] files = ds.getIncludedFiles();

-

-		scanDir(srcDir, destDir != null ? destDir : srcDir, files);

-	}

-

-	// compile the source files

-

-	String compiler = project.getProperty("build.compiler");

-	if (compiler == null) {

-		if (Project.getJavaVersion().startsWith("1.3")) {

-			compiler = "modern";

-		} else {

-			compiler = "classic";

-		}

-	}

-

-	if (compileList.length > 0) {

-

-		CompilerAdapter adapter = EclipseCompilerAdapterFactory.getCompiler(compiler, this);

-		log(Policy.bind("info.compiling"));

-

-		// now we need to populate the compiler adapter

-		adapter.setJavac(this);

-

-		// finally, lets execute the compiler!!

-		if (!adapter.execute()) {

-			if (failOnError) {

-				throw new BuildException(Policy.bind("error.compileFailed"), location);

-			} else {

-				log(Policy.bind("error.compileFailed"), Project.MSG_ERR);

-			}

-		}

-	}

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseProject.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseProject.java
deleted file mode 100644
index 5143345..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseProject.java
+++ /dev/null
@@ -1,288 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 1999 The Apache Software Foundation.  All rights

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer.

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:

- *       "This product includes software developed by the

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-

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

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

-import org.apache.tools.ant.*;

-import java.io.*;

-import java.io.File;

-import java.io.IOException;

-import java.util.*;

-

-/**

- * An Ant project adapted to running inside the Eclipse Platform.  Because of the class

- * loading structure of the Eclipse platform, the standard techniques for creating instances 

- * of tasks and datatypes needs to be adapted.

- * <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 class EclipseProject extends Project {

-/**

- * Creates a new project for use in running Ant inside the Eclipse Platform.

- */

-public EclipseProject() {

-	super();

-}

-/**

- * Creates and returns a new instance of the identified data type.

- * 

- * @return the new data type instance

- * @param typeName the name of the type to create

- * @exception BuildException thrown if a problem occurs during data type creation

- */

-public Object createDataType(String typeName) throws BuildException {

-	// First look in the types defined in the plugin extension points. If not

-	// found, do the super behaviour.

-	// check to see if the ant plugin is available.  If we are running from

-	// the command line (i.e., no platform) it will not be.

-	if (AntPlugin.getPlugin() == null)

-		return internalCreateDataType(typeName);

-	Map types = AntPlugin.getPlugin().getTypeExtensions();

-	if (types == null)

-		return internalCreateDataType(typeName);

-	IConfigurationElement declaration = (IConfigurationElement) types.get(typeName);

-	if (declaration == null)

-		return internalCreateDataType(typeName);

-	String className = declaration.getAttribute(AntPlugin.CLASS);

-	try {

-		Class typeClass = declaration.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader().loadClass(className);

-		addDataTypeDefinition(typeName, typeClass);

-	} catch (ClassNotFoundException e) {

-		return internalCreateDataType(typeName);

-	}

-	return internalCreateDataType(typeName);

-}

-/**

- * Creates and returns a new instance of the identified task.

- * 

- * @return the new task

- * @param taskName the name of the task to create

- * @exception BuildException thrown if a problem occurs during task creation

- */

-public Task createTask(String taskName) throws BuildException {

-	// First try to find if the task is defined in a plug-in. If not, call

-	// the super method.

-	// check to see if the ant plugin is available.  If we are running from

-	// the command line (i.e., no platform) it will not be.

-	if (AntPlugin.getPlugin() == null)

-		return super.createTask(taskName);

-	Map tasks = AntPlugin.getPlugin().getTaskExtensions();

-	if (tasks == null)

-		return super.createTask(taskName);

-	IConfigurationElement declaration = (IConfigurationElement) tasks.get(taskName);

-	if (declaration == null)

-		return super.createTask(taskName);

-	String className = declaration.getAttribute(AntPlugin.CLASS);

-	try {

-		Class taskClass = declaration.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader().loadClass(className);

-		addTaskDefinition(taskName, taskClass);

-	} catch (ClassNotFoundException e) {

-		return super.createTask(taskName);

-	}

-	return super.createTask(taskName);

-}

-/**

- * Sends a build finished notification to all registered listeners along with

- * the exception that caused the termination.

- * 

- * @param exception the exception to include with the notification

- */

-protected void fireBuildFinished(Throwable exception) {

-	super.fireBuildFinished(exception);

-}

-/**

- * Sends a build started notification to all registered listeners.

- */

-protected void fireBuildStarted() {

-	super.fireBuildStarted();

-}

-/**

- * Sends a target started notification to all the listeners when an execute target 

- * has just been started.

- */

-protected void fireExecuteTargetStarted(Target target) {

-    BuildEvent event = new BuildEvent(target);

-    Vector buildListeners = getBuildListeners();

-    for (int i = 0; i < buildListeners.size(); i++) {

-		if (buildListeners.elementAt(i) instanceof IAntRunnerListener) {

-			IAntRunnerListener listener = (IAntRunnerListener) buildListeners.elementAt(i);

-			listener.executeTargetStarted(event);

-		}

-	}

-}

-/**

- * Sends a target finished notification to all the listeners when an execute target

- * has just been finished.

- */

-protected void fireExecuteTargetFinished(Target target, Throwable exception) {

-    BuildEvent event = new BuildEvent(target);

-    event.setException(exception);

-    Vector buildListeners = getBuildListeners();

-    for (int i = 0; i < buildListeners.size(); i++) {

-		if (buildListeners.elementAt(i) instanceof IAntRunnerListener) {

-			IAntRunnerListener listener = (IAntRunnerListener) buildListeners.elementAt(i);

-			listener.executeTargetFinished(event);

-		}

-	}

-}

-/**

- * Initializes the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during initialization.

- */

-public void init() throws BuildException {

-	super.init();

-	// add some additional tasks and datatypes.  Normally they would be found

-	// in the plugin.xml markup for the Ant Support plugin but if we are not running 

-	// the platform we need to add them here.  

-	addTaskDefinition("ant", EclipseAnt.class);

-	addTaskDefinition("javac", EclipseJavac.class);

-	addDataTypeDefinition("commapatternset", CommaPatternSet.class);

-	addDataTypeDefinition("command", CommandDataType.class);

-	System.setProperty("ant.regexp.matcherimpl", "org.eclipse.ant.core.XercesRegexpMatcher");

-	// initialize the datatype table with marker values so that the table contains

-	// the keys (needed while parsing) but don't load the classes to prevent plugin activation.

-	if (AntPlugin.getPlugin() == null)

-		return;

-	Map types = AntPlugin.getPlugin().getTypeExtensions();

-	if (types == null)

-		return;

-	for (Iterator i = types.keySet().iterator(); i.hasNext();) {

-		String typeName = (String)i.next();

-		if (getDataTypeDefinitions().get(typeName) == null)

-			addDataTypeDefinition(typeName, EclipseProject.class);

-	}

-}

-

-protected Object internalCreateDataType(String typeName) throws BuildException {

-    Class c = (Class) getDataTypeDefinitions().get(typeName);

-

-    if (c == null)

-        return null;

-

-    try {

-        java.lang.reflect.Constructor ctor = null;

-        boolean noArg = false;

-        // DataType can have a "no arg" constructor or take a single 

-        // Project argument.

-        try {

-            ctor = c.getConstructor(new Class[0]);

-            noArg = true;

-        } catch (NoSuchMethodException nse) {

-            ctor = c.getConstructor(new Class[] {Project.class});

-            noArg = false;

-        }

-

-        Object o = null;

-        if (noArg) {

-             o = ctor.newInstance(new Object[0]);

-        } else {

-             o = ctor.newInstance(new Object[] {this});

-        }

-        if (o instanceof ProjectComponent) {

-            ((ProjectComponent)o).setProject(this);

-        }

-        String msg = "   +DataType: " + typeName;

-        log (msg, MSG_DEBUG);

-        return o;

-    } catch (java.lang.reflect.InvocationTargetException ite) {

-        Throwable t = ite.getTargetException();

-        String msg = "Could not create datatype of type: "

-             + typeName + " due to " + t;

-        throw new BuildException(msg, t);

-    } catch (Throwable t) {

-        String msg = "Could not create datatype of type: "

-             + typeName + " due to " + t;

-        throw new BuildException(msg, t);

-    }

-}

-/**

- * Executes a target. Notification has been added: the build listener knows that a top level

- * target is being executed and when it is finished.

- * 

- * @see Project#executeTarget(String targetName)

- */

-public void executeTarget(String targetName) throws BuildException {

-	Target targetToExecute = (Target) getTargets().get(targetName);

-	if (targetToExecute == null)

-		// can happen if the user has specified a target name that is not valid

-		throw new BuildException(Policy.bind("exception.targetDoesNotExist", targetName));

-    try {

-        fireExecuteTargetStarted(targetToExecute);

-        super.executeTarget(targetName);

-        fireExecuteTargetFinished(targetToExecute, null);

-    } catch(RuntimeException exc) {

-        fireExecuteTargetFinished(targetToExecute, exc);

-        throw exc;

-    }

-}

-

-

-

-

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntRunnerListener.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntRunnerListener.java
deleted file mode 100644
index 4c064bc..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntRunnerListener.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IncrementalBuild.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IncrementalBuild.java
deleted file mode 100644
index 7060357..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IncrementalBuild.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

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

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

-import java.util.HashMap;

-import org.apache.tools.ant.BuildException;

-import org.apache.tools.ant.Task;

-

-/**

- * Ant task which runs the platform's incremental build facilities.

- * <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 class IncrementalBuild extends Task {

-	private String builder;

-	private String project;

-	private int kind= IncrementalProjectBuilder.INCREMENTAL_BUILD;

-	private HashMap args= new HashMap(5);

-

-	/**

-	 * Unique identifier constant (value <code>"KIND_INCR"</code>)

-	 * indicating that an incremental build should be performed.

-	 */

-	public final static String KIND_INCR = "incr";

-	

-	/**

-	 * Unique identifier constant (value <code>"KIND_FULL"</code>)

-	 * indicating that a full build should be performed.

-	 */

-	public final static String KIND_FULL = "full";

-	

-	/**

-	 * Unique identifier constant (value <code>"KIND_AUTO"</code>)

-	 * indicating that an auto build should be performed.

-	 */

-	public final static String KIND_AUTO = "auto";

-	

-	/**

-	 * Inner class that represents a name-value pair.

-	 */

-	public class Argument {

-		private String name;

-

-		/**

-		 * Sets the name of this argument. 

-		 * @param name the name of this argument

-		 */

-		public void setName(String value) {

-			name= value;

-		}

-

-		/**

-		 * Sets the value of this argument. 

-		 * @param value the value of this argument

-		 */

-		public void setValue(String value) {

-			if (value == null)

-				args.remove(name);

-			else

-				args.put(name, value);

-		}

-	}

-

-/**

- * Constructs an <code>IncrementalBuild</code> instance.

- */

-public IncrementalBuild() {

-	super();

-}

-/**

- * Creates and returns a new <code>Argument</code>.

- * 

- * @return the new argument

- */

-public Argument createArgument() {

-	return new Argument();

-}

-/**

- * Executes this task.

- * 

- * @exception BuildException thrown if a problem occurs during execution

- */

-public void execute() throws BuildException {

-	try {

-		if (project == null) {

-			ResourcesPlugin.getWorkspace().build(kind, null);

-		} else {

-			IProject target= ResourcesPlugin.getWorkspace().getRoot().getProject(project);

-			if (builder == null)

-				target.build(kind, null);

-			else

-				target.build(kind, builder, args, null);

-		}

-	} catch (CoreException e) {

-		throw new BuildException(e);

-	}

-}

-/**

- * Sets the name of the receiver's builder.

- * 

- * @param value the name of the receiver's builder

- */

-public void setBuilder(String value) {

-	builder= value;

-}

-/**

- * Sets the receiver's kind> attribute.  This value must be one

- * of <code>IncrementalBuild.KIND_FULL</code>, <code>IncrementalBuild.KIND_AUTO</code>,

- * <code>IncrementalBuild.KIND_INCR</code>.

- * 

- * @param kind the receiver's kind attribute

- */

-public void setKind(String value) {

-	if (IncrementalBuild.KIND_FULL.equalsIgnoreCase(value))

-		kind= IncrementalProjectBuilder.FULL_BUILD;

-	else if (IncrementalBuild.KIND_AUTO.equalsIgnoreCase(value))

-		kind= IncrementalProjectBuilder.AUTO_BUILD;

-	else if (IncrementalBuild.KIND_INCR.equalsIgnoreCase(value))

-		kind= IncrementalProjectBuilder.INCREMENTAL_BUILD;

-}

-/**

- * Sets the receiver's target project.

- * 

- * @param value the receiver's target project

- */

-public void setProject(String value) {

-	project= value;

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/MoveProject.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/MoveProject.java
deleted file mode 100644
index f5c4240..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/MoveProject.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.util.*;

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

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

-import org.apache.tools.ant.*;

-

-/**

- * An Ant task which moves an existing Eclipse project.

- * <p>

- * The name of the project to move (source), its new name (destination) and the "force" attribute 

- * must be specified.<br>

- * The directory where the project is located on the file system, the comment, the nature(s)

- * and the referenced projects are optional. If the directory is not specified, the project 

- * will just be renamed after the new name. The user can specify "null" for the location if he wants

- * the project to be moved in the default workspace directory.<br>

- * It is also possible to define commands with nested elements.

- * <p><p>

- * Example:<p>

- *	&lt;eclipse.moveProject source="Foo" destination="Bar" location="D:\MyWork\My Project"/&gt;

- * <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>

- * @see IProject#move

- */

-public class MoveProject extends Task {

-	

-	/**

-	 * The name of the source project.

-	 */

-	private String source = null;

-	

-	/**

-	 * The name of the project after it has been moved.

-	 */

-	private String destination = null;

-	

-	/**

-	 * The force attribute.

-	 */

-	private boolean force;

-	// variable used to know if the user has actually set the "force" attribute

-	private boolean isForceSet = false;

-

-	/**

-	 * The folder where the user wants to move the project.

-	 */

-	private IPath location = null;

-	// variable used to know if the user has specified "null" or not

-	private boolean isLocationSet = false;

-	

-	/**

-	 * The natures, if the user wants to modify them.

-	 */

-	private String[] natures = null;

-	

-	/**

-	 * The comment, if the user wants to modify it

-	 */

-	private String comment = null;

-	

-	/**

-	 * The projects that the project references, if the user wants to modify them

-	 */

-	private IProject[] referencedProjects = null;

-

-	/**

-	 * The builders and their arguments (commands), if the user wants to modify them

-	 */

-	private Vector commands;

-	

-

-/**

- * Constructs a new <code>MoveProject</code> instance.

- */

-public MoveProject() {

-	super();

-	commands = new Vector();

-}

-

-/**

- * Performs the project move operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	

-	validateAttributes();

-	

-	IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject(source);

-	

-	try {

-		if (!newProject.exists()) 

-			throw new BuildException(Policy.bind("exception.projectDoesntExist", source));

-			

-		IProject temp = ResourcesPlugin.getWorkspace().getRoot().getProject(destination);

-		if (temp.exists())

-			throw new BuildException(Policy.bind("exception.nameAlreadyUsed", destination));		

-			

-		if (!newProject.isOpen())

-			newProject.open(null);

-		

-		IProjectDescription desc = newProject.getDescription();

-		desc.setName(destination);

-		setLocationToDescription(newProject, desc);

-

-		if (natures != null)

-			desc.setNatureIds(natures);

-		if (comment != null)

-			desc.setComment(comment);

-		if (referencedProjects != null)

-			desc.setReferencedProjects(referencedProjects);

-		if (!commands.isEmpty())

-			desc.setBuildSpec(createCommands(desc));

-			

-		newProject.move(desc, force, null);

-		

-	} catch (CoreException e) {

-		throw new BuildException(e);

-	}

-}

-

-protected void setLocationToDescription(IProject newProject, IProjectDescription desc) {

-	if (isLocationSet && location!= null && !ResourcesPlugin.getWorkspace().validateProjectLocation(newProject, location).isOK())

-		// the user wants to change the location.

-		// location can be null if the user set the attribute to "null" in order to copy the folder in the default workspace directory

-		throw new BuildException(Policy.bind("exception.folderAlreadyUsedForAnotherProject"));

-

-	desc.setLocation(location);			

-}

-

-protected ICommand[] createCommands(IProjectDescription description) {

-	ICommand[] commandArray = new ICommand[commands.size()];

-	int index = 0;

-	for (Iterator i = commands.iterator(); i.hasNext();) {

-		CommandDataType b = (CommandDataType) i.next();

-		commandArray[index] = description.newCommand();

-		// needs the project of this target to be able to get the name and the arguments

-		commandArray[index].setBuilderName(b.getName(project));

-		commandArray[index].setArguments(b.getArguments(project));

-		index++;

-	}

-	return commandArray;

-}

-

-/**

- * Sets the name of the project that the user wants to move.

- * 

- * @param the name of the project		

- */

-public void setSource(String value) {

-	source = value;

-}

-

-/**

- * Sets the new name for the project.

- * 

- * @param the new name	

- */

-public void setDestination(String value) {

-	destination = value;

-}

-

-/**

- * Sets the directory where the project will be moved. The parameter is a String

- * and not a File because the user can specify "null" if he wants to refer to the

- * default workspace directory.

- * 

- * @param the name of the folder or "null" for the default workspace directory

- */

-public void setLocation(String value) {

-	isLocationSet = true;

-	if (value.equals("null"))

-		// we leave the location as it currently is (i.e. null)

-		return;

-	location = new Path(value);

-	if (!location.isAbsolute()) {

-		// the location can be relative if the user used a period in the path

-		org.eclipse.core.runtime.Path defaultPath = new org.eclipse.core.runtime.Path(project.getBaseDir().toString());

-		location = defaultPath.append(location);

-	}

-}

-

-/**

- * Sets the force attribute.

- * 

- * @param true/false		

- */

-public void setForce(boolean value) {

-	force = value;

-	isForceSet = true;

-}

-

-/**

- * Sets the natures for the project. They are given as a list of nature identifers

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setNatures(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	while (tokenizer.hasMoreTokens())

-		vect.add(((String)tokenizer.nextToken()).trim());

-	natures = new String[vect.size()];

-	vect.toArray(natures);

-}

-

-/**

- * Sets the comment for the project.

- * 

- * @param the comment

- */

-public void setComment(String value) {

-	comment = value;

-}

-

-/**

- * Sets the projects that the project references. They are given as a list of project names

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setReferencedProjects(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	while (tokenizer.hasMoreTokens()) {

-		IProject currentProject = ResourcesPlugin.getWorkspace().getRoot().getProject(((String) tokenizer.nextToken()).trim());

-		if (currentProject.exists())

-			vect.add(currentProject);

-		else

-			throw new BuildException(Policy.bind("exception.unknownProject", currentProject.getName()));

-	}

-		

-	referencedProjects = new IProject[vect.size()];

-	vect.toArray(referencedProjects);

-}

-

-/**

- * Adds a CommandDataType object to the set of commands specified for this project.

- * 

- * @param the command

- */

-public void addCommand(CommandDataType command) {

-	commands.add(command);

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-	if (source == null) 

-		throw new BuildException(Policy.bind("exception.sourceNotSpecified"));

-

-	if (destination == null) 

-		throw new BuildException(Policy.bind("exception.destinationNotSpecified"));

-		

-	if (location!= null && !location.isValidPath(location.toOSString()))

-		throw new BuildException(Policy.bind("exception.invalidPath", location.toOSString()));

-	

-	if (!isForceSet)

-		throw new BuildException(Policy.bind("exception.forceNotSpecified"));

-}

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Policy.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Policy.java
deleted file mode 100644
index 91c778b..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Policy.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/RefreshLocal.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/RefreshLocal.java
deleted file mode 100644
index 8995f69..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/RefreshLocal.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

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

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

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

-import java.util.Vector;

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.types.PatternSet;

-

-/**

- * An Ant task which refreshes the Eclipse Platform's view of the local filesystem.

- * <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>

- * @see IResource#refreshLocal

- */

-public class RefreshLocal extends Task {

-	/**

-	 * Unique identifier constant (value <code>"DEPTH_ZERO"</code>)

-	 * indicating that refreshes should be performed only on the target

-	 * resource itself

-	 */

-	public static final String DEPTH_ZERO = "zero";

-	

-	/**

-	 * Unique identifier constant (value <code>"DEPTH_ONE"</code>)

-	 * indicating that refreshes should be performed on the target

-	 * resource and its children

-	 */

-	public static final String DEPTH_ONE = "one";

-	

-	/**

-	 * Unique identifier constant (value <code>"DEPTH_INFINITE"</code>)

-	 * indicating that refreshes should be performed on the target

-	 * resource and all of its recursive children

-	 */

-	public static final String DEPTH_INFINITE = "infinite";

-	

-	/**

-	 * The resource to refresh.

-	 */

-	protected IResource resource;

-	

-	/**

-	 * The depth to refresh to.

-	 */

-	protected int depth = IResource.DEPTH_INFINITE;

-	

-	private IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();

-

-/**

- * Constructs a new <code>RefreshLocal</code> instance.

- */

-public RefreshLocal() {

-	super();

-}

-

-/**

- * Performs the refresh operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	// make sure we don't have an illegal set of options

-	validateAttributes();

-

-	// deal with the single resource

-	if (resource != null) {

-		if (!resource.exists())

-			throw new BuildException(Policy.bind("exception.resourceNotFound",resource.toString()));

-		try {

-			resource.refreshLocal(depth, null);

-			return;

-		} catch (CoreException e) {

-			throw new BuildException(e);

-		}

-	} else

-		throw new BuildException(Policy.bind("exception.resourceNotSpecified"));

-}

-/**

- * Refreshes a collection of resources.

- * 

- * @param resources the names of the resources to refresh

- * @exception BuildException thrown if a problem occurs during refresh

- */

-protected void refreshResources(String[] resources) throws BuildException {

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

-		IResource target = root.findMember(resources[i]);

-		if (target == null)

-			throw new BuildException(Policy.bind("exception.resourceNotFound",resources[i].toString()));

-		try {

-			target.refreshLocal(depth, null);

-		} catch (CoreException e) {

-			throw new BuildException(e);

-		}

-	}

-}

-

-/**

- * Sets the depth of this task appropriately.  The specified argument must

- * by one of <code>RefreshLocal.DEPTH_ZERO</code>, <code>RefreshLocal.DEPTH_ONE</code>

- * or <code>RefreshLocal.DEPTH_INFINITE</code>.

- * 

- * @param value the depth to refresh to		

- */

-public void setDepth(String value) {

-	if (DEPTH_ZERO.equalsIgnoreCase(value))

-		depth = IResource.DEPTH_ZERO;

-	else

-		if (DEPTH_ONE.equalsIgnoreCase(value))

-			depth = IResource.DEPTH_ONE;

-		else

-			if (DEPTH_INFINITE.equalsIgnoreCase(value))

-				depth = IResource.DEPTH_INFINITE;

-}

-

-/**

- * Sets the root of the workspace resource tree to refresh.

- * 

- * @param value the root value

- */

-public void setResource(String value) {

-	resource = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(value));

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/XercesRegexpMatcher.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/XercesRegexpMatcher.java
deleted file mode 100644
index 4b670e3..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/XercesRegexpMatcher.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-import org.apache.tools.ant.util.regexp.RegexpMatcher;

-import org.apache.xerces.utils.regex.RegularExpression;

-import org.apache.xerces.utils.regex.Match;

-import java.util.Vector;

-import org.apache.tools.ant.BuildException;

-

-/**

- * An Ant regular expression matcher adapted to use the Xerces XML parser.

- * This implementation is the standard one used when running Ant inside the

- * Eclipse platform using the <code>AntRunner</code>.

- * <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 class XercesRegexpMatcher implements RegexpMatcher {

-	private RegularExpression regexp;

-

-/**

- * Creates a new Xerces based regular expression matcher.

- */

-public XercesRegexpMatcher() {

-	super();

-}

-/**

- * Returns a collection of matched groups found in an argument.

- *

- * <p>Group 0 will be the full match, the rest are the

- * parenthesized subexpressions</p>.

- * 

- * @return the collection of matched groups found in the argument.

- * @param argument the argument

- */

-public Vector getGroups(String argument) {

-	Match match = new Match();

-	if (!regexp.matches(argument, match))

-		return null;

-	int count = match.getNumberOfGroups();

-	Vector result = new Vector(count);

-	for (int i = 0; i < count; i++) {

-		result.add(match.getCapturedText(i));

-	}

-	return result;

-}

-/**

- * Returns a string representation of the receiver

- * 

- * @return a string representation of the receiver

- */

-public String getPattern() {

-	return regexp.getPattern();

-}

-/**

- * Returns a <code>boolean</code> indicating whether an argument

- * matches with the receiver.

- * 

- * @return a <code>boolean</code> indicating whether an argument

- * matches with the receiver.

- * @param argument the argument to match with the receiver

- */

-public boolean matches(String argument) {

-	return regexp.matches(argument);

-}

-

-/**

- * Sets the receiver's pattern.

- * 

- * @param pattern the pattern value

- * @exception BuildException thrown if a problem occurs setting the pattern

- */

-public void setPattern(String pattern) throws BuildException {

-	if (regexp == null)

-		regexp = new RegularExpression(pattern);

-	else

-		regexp.setPattern(pattern);

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/messages.properties b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/messages.properties
deleted file mode 100644
index 44c1e55..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/messages.properties
+++ /dev/null
@@ -1,90 +0,0 @@
-### Ant Core plugin message catalog

-

-### labels

-label.buildFile = Build file: {0}

-label.mainTargets = Main targets:

-label.subTargets = Subtargets:

-label.defaultTarget = Default target:

-

-### usage

-usage.options = options

-usage.target = target

-usage.Options = Options

-usage.printMessage = print this message

-usage.projectHelp = print project help information

-usage.versionInfo = print the version information and exit

-usage.beQuiet = be extra quiet

-usage.beVerbose = be extra verbose

-usage.printDebugInfo = print debugging information

-usage.emacsLog = produce logging information without adornments

-usage.useFile = use given file for log

-usage.logClass = the class which is to perform logging

-usage.listenerClass = add an instance of class as a project listener

-usage.fileToBuild = use given buildfile

-usage.propertiesValues = use value for given property

-usage.findFileToBuild = search for buildfile towards the root of the filesystem and use it

-usage.antVersion = Ant version 

-usage.compiledOn =  compiled on 

-

-

-

-### info

-info.compiling = Compiling source files

-info.searchingFor = Searching for: {0} ...

-info.searchingIn = Searching in: {0} ...

-info.couldNotLoadLibrary = Could not load library: {0}.

-

-### error

-error.compileFailed = Compile failed; messages should have been provided.

-error.buildFailed = Build Failed.

-

-### exception

-exception.antTaskCallingParentTarget = Ant task calling its own parent target.

-exception.buildFileIsDirectory = Build file is a directory: {0}

-exception.buildFileNotFound = Build file not found: {0}

-exception.cannotAppendToReference = Cannot append to a reference.

-exception.cannotCreateListener = Unable to instantiate listener: {0}

-exception.cannotCreateLogger = Unable to instantiate logger: {0}

-exception.cannotLoadVersionInfo = Could not load the version information. {0}

-exception.cannotSetOutput = Ant cannot set output to: {0}

-exception.cannotWriteToLog = Cannot write on the specified log file.  Make sure the path exists and you have write permissions.

-exception.classNotFound = Class not found: {0}

-exception.classNotCompiler = Class is not a compiler adapter: {0}

-exception.creationProblem = Exception creating: {0}

-exception.loggerDoesNotImplementInterface = The specified logger class does not implement the BuildLogger interface: {0}

-exception.missingBuildFile = You must specify a build file when using the -buildfile argument.

-exception.missingClassName = You must specify a class name when using the -listener argument.

-exception.missingDestinationDir = Destination directory does not exist or is not a directory: {0}

-exception.missingExcludesFile = Excludes file not found: {0}

-exception.missingIncludesFile = Includes file not found: {0}

-exception.missingLogFile = You must specify a log file when using the -log argument.

-exception.missingSrcAttribute = srcdir attribute must be set.

-exception.missingSourceDir = srcdir does not exist: {0}

-exception.multipleLoggers = Only one logger class may be specified.

-exception.noBuildFile = Could not locate a build file.

-exception.noParser = No JAXP compliant XML parser found. See http://java.sun.com/xml for the reference implementation.

-exception.notAPatternSet = Not a patternset: {0}

-exception.patternFile = An error occured while reading pattern file: {0}

-exception.resourceNotFound = Resource not found: {0}

-exception.unknownArgument = Unknown argument: {0}

-exception.sourceNotSpecified = The attribute "source" must be specified.

-exception.forceNotSpecified = The attribute "force" must be specified.

-exception.deleteContentNotSpecified = The attribute "deleteContent" must be specified.

-exception.projectDoesntExist = The project "{0}" does not exist.

-exception.nameAlreadyUsed = The name "{0}" is already used for another project.

-exception.destinationNotSpecified = The attribute destination must be specified.

-exception.invalidPath = Invalid path: {0}.

-exception.propertyAndPathIdNotSpecified = At least one of the "property" or "pathId" attributes must be specified.

-exception.cantUseBoth = "fileSystemPath" and "resourcePath" can't be used at the same time.

-exception.mustHaveOneAttribute = "fileSystemPath" or "resourcePath" must be specified.

-exception.pathNotValid = The path "{0}" for the resource is not a valid path as the first segment does not represent a project.

-exception.noProjectMatchThePath = The path "{0}" doesn't match any existing project.

-exception.unknownProject = The project "{0}" does not exist.

-exception.commandMustHaveName = The attribute "name" must be set for the command.

-exception.doesntDenoteACommand = {0} doesn't denote a command.

-exception.noAttributes = You must not specify any attribute when using refid.

-exception.noNestedElements = You must not define nested elements when using refid.

-exception.folderAlreadyUsedForAnotherProject = Project content location overlaps with an existing project's content location.

-exception.cantCopyProjectInSameFolder = You must specify a location for the project to copy because it is already located in a specific folder ("{0}").

-exception.resourceNotSpecified = The resource attribute must be specified with a valid existing resource name.

-exception.targetDoesNotExist = The target "{0}" does not exist.
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html
deleted file mode 100644
index d737de8..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

-   <title>Package-level Javadoc</title>

-</head>

-<body>

-Provides support for running the Ant build tool in the platform.

-<h2>

-Package Specification</h2>

-This package defines a number of task and data types and various infrastructure

-pieces which make Ant in the platform easier and more powerful.

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.ui/.classpath b/ant/org.eclipse.ant.ui/.classpath
deleted file mode 100644
index ea001f8..0000000
--- a/ant/org.eclipse.ant.ui/.classpath
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.ant.core"/>
-    <classpathentry kind="var" path="TARGET/org.eclipse.ant.core/ant.jar"/>
-    <classpathentry kind="var"
-        path="TARGET/org.eclipse.ui/workbench.jar" sourcepath="TARGET/org.eclipse.ui/workbenchsrc.zip"/>
-    <classpathentry kind="var" path="TARGET/org.eclipse.swt/swt.jar" sourcepath="TARGET/org.eclipse.swt/swtsrc.zip"/>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ant/org.eclipse.ant.ui/.cvsignore b/ant/org.eclipse.ant.ui/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/ant/org.eclipse.ant.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/.vcm_meta b/ant/org.eclipse.ant.ui/.vcm_meta
deleted file mode 100644
index aa7cca7..0000000
--- a/ant/org.eclipse.ant.ui/.vcm_meta
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<comment></comment>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<reference project-name="org.eclipse.ant.core"/>

-	<reference project-name="org.eclipse.core.boot"/>

-	<reference project-name="org.eclipse.core.resources"/>

-	<reference project-name="org.eclipse.core.runtime"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-</project-description>

diff --git a/ant/org.eclipse.ant.ui/about.html b/ant/org.eclipse.ant.ui/about.html
deleted file mode 100644
index c801838..0000000
--- a/ant/org.eclipse.ant.ui/about.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html>

-<head>

-<meta name="about-version" content="2.0">

-<meta name="date" content="011205">

-<meta name="third-party" content="no">

-<meta name="other-licenses" content="no">

-<meta name="cryptography" content="no">

-<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>

-<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" face="Arial,Helvetica">About This Plug-in</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

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

-<h3>License</h3>

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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> ("CPL").  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 ("Other License"), any modifications, enhancements and/or

-other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the

-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available

-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also

-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of

-the CPL.</p>

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

-</body>

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

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

-javadoc.packages=org.eclipse.*

diff --git a/ant/org.eclipse.ant.ui/icons/basic/clcl16/clear.gif b/ant/org.eclipse.ant.ui/icons/basic/clcl16/clear.gif
deleted file mode 100644
index 2558326..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/clcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/basic/clcl16/hideOrShowTree.gif b/ant/org.eclipse.ant.ui/icons/basic/clcl16/hideOrShowTree.gif
deleted file mode 100644
index 5a8c7ea..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/clcl16/hideOrShowTree.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/basic/clcl16/showOnlySelectedText.gif b/ant/org.eclipse.ant.ui/icons/basic/clcl16/showOnlySelectedText.gif
deleted file mode 100644
index be9eb92..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/clcl16/showOnlySelectedText.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/basic/cview/ant_view.gif b/ant/org.eclipse.ant.ui/icons/basic/cview/ant_view.gif
deleted file mode 100644
index 0165a50..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/cview/ant_view.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/basic/eview/ant_view.gif b/ant/org.eclipse.ant.ui/icons/basic/eview/ant_view.gif
deleted file mode 100644
index 76be436..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/eview/ant_view.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/basic/wizban/ant_wiz.gif b/ant/org.eclipse.ant.ui/icons/basic/wizban/ant_wiz.gif
deleted file mode 100644
index c4aaf15..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/wizban/ant_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/cview16/ant_view.gif b/ant/org.eclipse.ant.ui/icons/full/cview16/ant_view.gif
deleted file mode 100644
index 03e30a2..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/cview16/ant_view.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif b/ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif
deleted file mode 100644
index eba5891..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/wizban/ant_wiz.gif b/ant/org.eclipse.ant.ui/icons/full/wizban/ant_wiz.gif
deleted file mode 100644
index 42754e5..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/wizban/ant_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/plugin.properties b/ant/org.eclipse.ant.ui/plugin.properties
deleted file mode 100644
index e8b8d0b..0000000
--- a/ant/org.eclipse.ant.ui/plugin.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-pluginName = Ant Build Tool UI

-runAnt = Run Ant...

-runAntTip = Run Ant with the selected build file

-antPreferences = Ant Preferences

-antConsolePreferences = Console

-antActionSetLabel = Ant

-executeAntLabel = Execute Ant script

-executeAntTooltip =  Execute Ant script

-antConsole = Ant Console

diff --git a/ant/org.eclipse.ant.ui/plugin.xml b/ant/org.eclipse.ant.ui/plugin.xml
deleted file mode 100644
index 9ff85f4..0000000
--- a/ant/org.eclipse.ant.ui/plugin.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<plugin

-  name = "%pluginName"

-  id="org.eclipse.ant.ui"

-  version = "2.0"

-  provider-name = "Object Technology International, Inc."

-  class="org.eclipse.ant.internal.ui.AntUIPlugin">

-

-  <requires>

-    <import plugin="org.eclipse.ui"/>

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

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

-  </requires>

-

-  <runtime>

-    <library name="antui.jar">  

-      <export name = "*"/>

-    </library> 

-  </runtime>

-

-  <extension point="org.eclipse.ui.popupMenus">

-	<objectContribution

-		id="org.eclipse.ant.ui.RunAnt"

-		objectClass="org.eclipse.core.resources.IResource"

-		nameFilter="*.xml">

-		<action

-			id="RunAnt"

-			label="%runAnt"

-			tooltip="%runAntTip"

-			menubarPath="additions"

-			enablesFor="1"

-			class="org.eclipse.ant.internal.ui.RunAntActionDelegate">

-		</action>

-	</objectContribution>			

-  </extension>

-  

-  <extension point="org.eclipse.ui.views">

-	<category 

-		id="org.eclipse.ant.ui"

-		name="&amp;Ant">

-	</category>

-	<view

-		id="org.eclipse.ant.ui.antconsole"

-		name="%antConsole"

-		icon="icons/basic/cview/ant_view.gif"

-		category="org.eclipse.ant.ui"

-		class="org.eclipse.ant.internal.ui.AntConsole">

-	</view>

-  </extension>

-  

-  <extension point="org.eclipse.ui.preferencePages">

-  	<page 

-  		id="org.eclipse.ant.ui.AntPreferences" 

-  		name="%antPreferences"

-  		class="org.eclipse.ant.internal.ui.AntPreferencesPage">

-  	</page>

-  	<page 

-  		id="org.eclipse.ant.ui.AntConsolePreferences" 

-  		name="%antConsolePreferences"

-  		class="org.eclipse.ant.internal.ui.AntConsolePreferencePage"

-  		category="org.eclipse.ant.ui.AntPreferences">

-  	</page>

-  </extension>

-  

-  <extension point="org.eclipse.ui.actionSets">

-	<actionSet label="%antActionSetLabel" 

-		visible="false" 

-		id="org.eclipse.ant.ui.antActionSet">

-	  	<action label="%executeAntLabel" 

-	  		pulldown="true" 

-	  		icon="icons/basic/cview/ant_view.gif" 

-	  		tooltip="%executeAntTooltip" 

-	  		class="org.eclipse.ant.internal.ui.AntLaunchDropDownAction" 

-	  		toolbarPath="ant" 

-	  		id="org.eclipse.ant.ui.antDropDownAction" /> 

-	</actionSet>

-  </extension>

-  

-</plugin>

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntAction.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntAction.java
deleted file mode 100644
index 7331c88..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntAction.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.File;

-

-import org.apache.tools.ant.ProjectHelper;

-import org.eclipse.ant.core.EclipseProject;

-import org.eclipse.core.resources.IFile;

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

-import org.eclipse.jface.action.Action;

-import org.eclipse.jface.dialogs.ErrorDialog;

-import org.eclipse.jface.wizard.WizardDialog;

-import org.eclipse.ui.*;

-

-public class AntAction extends Action {

-	

-	private IFile file;

-	

-public AntAction(IFile file) {

-	super();

-	this.file = file;

-	if (file != null) {

-		setText(file.getName());

-		setToolTipText(file.getFullPath().toOSString());

-	}

-	else

-		setText(Policy.bind("launcher.noFile"));

-	setImageDescriptor(AntUIPlugin.getPlugin().getAntIconImageDescriptor());

-}

-

-public void run() {

-	if (file == null)

-		return;

-	

-	// save the modified files if required by the user

-	if (AntUIPlugin.getPlugin().getPreferenceStore().getBoolean(IAntPreferenceConstants.AUTO_SAVE)) {

-		IEditorPart[] editors = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditors();

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

-			if (editors[i].isDirty()) {

-				editors[i].getSite().getPage().saveEditor(editors[i],false);

-			}

-		}

-	}

-	

-	EclipseProject project = extractProject(file);

-	if (project == null)

-		return;

-		

-	AntLaunchWizard wizard = new AntLaunchWizard(project,file);

-	wizard.setNeedsProgressMonitor(true);

-	WizardDialog dialog = new WizardDialog(AntUIPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell(),wizard);

-	dialog.create();

-	dialog.open();

-}

-

-protected EclipseProject extractProject(IFile sourceFile) {

-	// create a project and initialize it

-	EclipseProject antProject = new EclipseProject();

-	antProject.init();

-	antProject.setProperty("ant.file",sourceFile.getLocation().toOSString());

-	

-	try {

-		ProjectHelper.configureProject(antProject,new File(sourceFile.getLocation().toOSString()));

-	} catch (Exception e) {

-		// If the document is not well-formated for example

-		String message = e.getMessage();

-		if (message == null)

-			message = Policy.bind("error.antParsingError");

-		IStatus status = new Status(IStatus.ERROR,AntUIPlugin.PI_ANTUI,IStatus.ERROR,message,e);

-		ErrorDialog.openError(

-			AntUIPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell(),

-			Policy.bind("error.antScriptError"),

-			Policy.bind("error.antParsingError"),

-			status);

-			

-		return null;

-	}

-	return antProject;

-}

-

-}

-

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsole.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsole.java
deleted file mode 100644
index e0aca2e..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsole.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsolePreferencePage.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsolePreferencePage.java
deleted file mode 100644
index 749f936..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsolePreferencePage.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.jface.preference.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.*;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-/**

- * A page to set the preferences for the console

- */

-public class AntConsolePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {

-		

-

-/**

- * Create the console page.

- */

-public AntConsolePreferencePage() {

-	super(GRID);

-	

-	setDescription(Policy.bind("preferences.description"));

-	

-	IPreferenceStore store= AntUIPlugin.getPlugin().getPreferenceStore();

-	setPreferenceStore(store);

-}

-public void createControl(Composite parent) {

-	super.createControl(parent);

-	

-	// should do something here with the help..	

-	/*

-	WorkbenchHelp.setHelp(

-		parent,

-		new Object[] { IAntHelpContextIds.ANT_CONSOLE_PREFERENCE_PAGE });

-	*/

-}

-/**

- * Create all field editors for this page

- */

-public void createFieldEditors() {

-

-	ColorFieldEditor errOut= new ColorFieldEditor(IAntPreferenceConstants.CONSOLE_ERROR_RGB, Policy.bind("preferences.errorColor"), getFieldEditorParent());

-	ColorFieldEditor warnOut= new ColorFieldEditor(IAntPreferenceConstants.CONSOLE_WARNING_RGB, Policy.bind("preferences.warningColor"), getFieldEditorParent());

-	ColorFieldEditor infoOut= new ColorFieldEditor(IAntPreferenceConstants.CONSOLE_INFO_RGB, Policy.bind("preferences.infoColor"), getFieldEditorParent());

-	ColorFieldEditor verbOut= new ColorFieldEditor(IAntPreferenceConstants.CONSOLE_VERBOSE_RGB, Policy.bind("preferences.verboseColor"), getFieldEditorParent());

-	ColorFieldEditor debugOut= new ColorFieldEditor(IAntPreferenceConstants.CONSOLE_DEBUG_RGB, Policy.bind("preferences.debugColor"), getFieldEditorParent());

-	

-	FontFieldEditor font= new FontFieldEditor(IAntPreferenceConstants.CONSOLE_FONT, Policy.bind("preferences.font"), getFieldEditorParent());

-

-	addField(errOut);

-	addField(warnOut);

-	addField(infoOut);

-	addField(verbOut);

-	addField(debugOut);

-	addField(font);

-}

-/**

- * Returns the font data that describes the font to use for the console

- */

-protected static FontData getConsoleFontData() {

-	IPreferenceStore pstore= AntUIPlugin.getPlugin().getPreferenceStore();

-	FontData fontData= PreferenceConverter.getFontData(pstore, IAntPreferenceConstants.CONSOLE_FONT);

-	return fontData;

-}

-/**

- * Returns the a color based on the type.

- */

-protected static Color getPreferenceColor(String type) {

-	IPreferenceStore pstore= AntUIPlugin.getPlugin().getPreferenceStore();

-	RGB outRGB= PreferenceConverter.getColor(pstore, type);

-	return new Color(Display.getCurrent() ,outRGB);

-}

-/**

- * @see IWorkbenchPreferencePage#init

- */

-public void init(IWorkbench workbench) {

-}

-

-}

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchDropDownAction.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchDropDownAction.java
deleted file mode 100644
index a75050d..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchDropDownAction.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

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

- * All Rights Reserved.

- */

- 

-import java.io.File;

-import org.apache.tools.ant.ProjectHelper;

-import org.eclipse.ant.core.EclipseProject;

-import org.eclipse.core.resources.IFile;

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

-import org.eclipse.ui.*;

-import org.eclipse.ui.part.FileEditorInput;

-import org.eclipse.jface.action.*;

-import org.eclipse.jface.dialogs.ErrorDialog;

-import org.eclipse.jface.viewers.*;

-import org.eclipse.jface.wizard.WizardDialog;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.widgets.*;

-

-/**

- * Superclass of run & debug pulldown actions.

- */

-public class AntLaunchDropDownAction implements IWorkbenchWindowPulldownDelegate {

-	

-

-/**

- * @see IWorkbenchWindowActionDelegate

- */

-public void dispose() {

-}

-

-private void createMenuForAction(Menu parent, Action action) {

-	ActionContributionItem item= new ActionContributionItem(action);

-	item.fill(parent, -1);

-}

-

-/**

- * @see IWorkbenchWindowPulldownDelegate

- */

-public Menu getMenu(Control parent) {

-	Menu menu= new Menu(parent);

-	IFile[] historyList= AntUIPlugin.getPlugin().getHistory();

-	int count= 0;

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

-		IFile file = historyList[i];

-		if (file == null) 

-			break;

-		AntAction newAction= new AntAction(file);

-		createMenuForAction(menu, newAction);

-		count++;

-	}

-	if (count == 0)

-		createMenuForAction(menu, new AntAction(null));

-

-	return menu;

-}

-

-/**

- * @see IWorkbenchWindowActionDelegate

- */

-public void init(IWorkbenchWindow window){

-}

-

-/**

- * @see IActionDelegate

- */

-public void run(IAction action) {

-	IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();

-	IStructuredSelection selection= resolveSelection(window);

-	

-	if (selection != null) {

-		Object selectedObject = selection.getFirstElement();

-		if (selectedObject instanceof IFile) {

-			if (((IFile) selectedObject).getFileExtension().equals("xml"))

-				new AntAction((IFile) selectedObject).run();

-		}

-		else if (selectedObject instanceof FileEditorInput) {

-			if ((((FileEditorInput) selectedObject).getFile()).getFileExtension().equals("xml"))

-				new AntAction(((FileEditorInput) selectedObject).getFile()).run();

-		}

-	}

-}

-

-/**

- * Determines and returns the selection that provides context for the launch,

- * or <code>null</code> if there is no selection.

- */

-protected IStructuredSelection resolveSelection(IWorkbenchWindow window) {

-	if (window == null) {

-		return null;

-	}

-	ISelection selection= window.getSelectionService().getSelection();

-	if (selection == null || selection.isEmpty() || !(selection instanceof IStructuredSelection)) {

-		// there is no obvious selection - go fishing

-		selection= null;

-		IWorkbenchPage page= window.getActivePage();

-		if (page == null) {

-			//workspace is closed

-			return null;

-		}

-

-		// first, see if there is an active editor, and try its input element

-		IEditorPart editor= page.getActiveEditor();

-		Object element= null;

-		if (editor != null) {

-			element= editor.getEditorInput();

-		}

-

-		if (selection == null && element != null) {

-			selection= new StructuredSelection(element);

-		}

-	}

-	return (IStructuredSelection)selection;

-}

-

-/**

- * @see IActionDelegate

- */

-public void selectionChanged(IAction action, ISelection selection){

-}

-

-}

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java
deleted file mode 100644
index 97c14ab..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizardPage.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizardPage.java
deleted file mode 100644
index 24c580d..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizardPage.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPreferencesPage.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPreferencesPage.java
deleted file mode 100644
index 1ae0135..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPreferencesPage.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPropertyChangeListener.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPropertyChangeListener.java
deleted file mode 100644
index bf82ea5..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPropertyChangeListener.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeContentProvider.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeContentProvider.java
deleted file mode 100644
index 796547c..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeContentProvider.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.jface.viewers.*;

-

-/**

- * Content provider for the tree viewer of the Ant Console.

- */

-

-public class AntTreeContentProvider implements ITreeContentProvider {

-	

-	private AntConsole console;

-	

-public AntTreeContentProvider(AntConsole console) {

-	this.console = console;

-}

-

-/**

- * @see ITreeContentProvider#getChildren(Object)

- */

-public Object[] getChildren(Object parent) {

-		return ((OutputStructureElement) parent).getChildren();

-}

-

-/**

- * @see ITreeContentProvider#getParent(Object)

- */

-public Object getParent(Object element) {

-	return ((OutputStructureElement) element).getParent();

-}

-

-/**

- * @see ITreeContentProvider#hasChildren(Object)

- */

-public boolean hasChildren(Object element) {

-		return ((OutputStructureElement) element).hasChildren();

-}

-

-/**

- * @see IStructuredContentProvider#getElements(Object)

- */

-public Object[] getElements(Object parent) {

-	return ((OutputStructureElement) parent).getChildren();

-}

-

-/**

- * @see IContentProvider#dispose()

- */

-public void dispose() {

-}

-

-/**

- * @see IContentProvider#inputChanged(Viewer, Object, Object)

- */

-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {

-}

-

-}

-

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeLabelProvider.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeLabelProvider.java
deleted file mode 100644
index a6cbbed..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeLabelProvider.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.jface.viewers.*;

-import org.eclipse.swt.graphics.Image;

-

-/**

- * Label provider for the tree viewer of the Ant Console.

- */

-

-public class AntTreeLabelProvider implements ILabelProvider {

-	

-	private AntConsole console;

-	

-public AntTreeLabelProvider(AntConsole console) {

-	this.console = console;

-}

-

-

-/**

- * @see ILabelProvider#getImage(Object)

- */

-public Image getImage(Object element) {

-	return null;

-}

-

-/**

- * @see ILabelProvider#getText(Object)

- */

-public String getText(Object element) {

-	String text = ((OutputStructureElement) element).getName();

-	if ( text == null)

-		// this can happen if the userwrites a task name that doesn't exist => the #taskStarted will be triggered

-		// but null will be given as a name to the current task, and then only, the exception will be raised

-		return Policy.bind("antTreeLabelProvider.invalidTaskName");

-	return text;

-}

-

-/**

- * @see IBaseLabelProvider#addListener(ILabelProviderListener)

- */

-public void addListener(ILabelProviderListener listener) {

-}

-

-/**

- * @see IBaseLabelProvider#dispose()

- */

-public void dispose() {

-}

-

-/**

- * @see IBaseLabelProvider#isLabelProperty(Object, String)

- */

-public boolean isLabelProperty(Object arg0, String arg1) {

-	return false;

-}

-

-/**

- * @see IBaseLabelProvider#removeListener(ILabelProviderListener)

- */

-public void removeListener(ILabelProviderListener listener) {

-}

-

-}

-

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntUIPlugin.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntUIPlugin.java
deleted file mode 100644
index 8db3dba..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntUIPlugin.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/BuildCanceledException.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/BuildCanceledException.java
deleted file mode 100644
index 60e7e6b..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/BuildCanceledException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

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

- * All Rights Reserved.

- */

-

-import org.apache.tools.ant.BuildException;

-

-public class BuildCanceledException extends BuildException {

-

-public BuildCanceledException() {

-	super(Policy.bind("exception.canceled"));

-}

-

-}

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/IAntPreferenceConstants.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/IAntPreferenceConstants.java
deleted file mode 100644
index abec6e3..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/IAntPreferenceConstants.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

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

- * All Rights Reserved.

- */

-

-public interface IAntPreferenceConstants {

-	

-	// for the Ant preference page

-

-	public static final String AUTO_SAVE = "Ant.autoSave";

-	

-	public static final String OUPUT_LEVEL = "Ant.outputLevel";

-

- 	public static final String INFO_LEVEL = "Ant.infoLevel";

- 	

- 	public static final String VERBOSE_LEVEL = "Ant.verboseLevel";

- 	

- 	public static final String DEBUG_LEVEL = "Ant.levelLevel";

- 	

- 	

- 	// Colors and police for the Ant Console

- 	

-	public static final String CONSOLE_ERROR_RGB = "Ant.Console.errorColor";

-	

-	public static final String CONSOLE_WARNING_RGB = "Ant.Console.warningColor";

-

- 	public static final String CONSOLE_INFO_RGB = "Ant.Console.infoColor";

- 	

- 	public static final String CONSOLE_VERBOSE_RGB = "Ant.Console.verboseColor";

- 	

- 	public static final String CONSOLE_DEBUG_RGB = "Ant.Console.debugColor";

- 	

- 	public static final String CONSOLE_FONT = "Ant.Console.font";

-

-}

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/OutputStructureElement.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/OutputStructureElement.java
deleted file mode 100644
index f77f80f..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/OutputStructureElement.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.util.Vector;

-

-/**

- * Object which stores the index and the length of the output for a given

- * target or task (represented by a string)

- */

-

-public class OutputStructureElement {

-

-	private OutputStructureElement parent = null;

-	private Vector children;

-	private String name;

-	private int startIndex = 0;

-	private int length = 0;

-

-

-/**

- * This constructor is intended to be used only by the first element of the structure (the root element)

- */

-public OutputStructureElement(String name) {

-	// there's at least one target as it is the root which may be instantiated via this constructor

-	children = new Vector(1);

-	this.name = name;

-}

-

-/**

- * This constructor is used for any element but the first element of the structure (the root element)

- */	

-public OutputStructureElement(String name, OutputStructureElement parent, int startIndex) {

-	children = new Vector(0);

-	this.name = name;

-	this.startIndex = startIndex;

-	parent.addChild(this);

-}

-

-public void addChild(OutputStructureElement child) {

-	children.add(child);

-	child.setParent(this);

-}

-

-public boolean hasChildren() {

-	return !children.isEmpty();

-}

-

-public String getName() {

-	return name;

-}

-

-public void setName(String name) {

-	this.name = name;

-}

-

-public void setParent(OutputStructureElement parent) {

-	this.parent = parent;

-}

-

-public OutputStructureElement getParent() {

-	return parent;

-}

-

-public OutputStructureElement[] getChildren() {

-	return (OutputStructureElement[]) children.toArray(new OutputStructureElement[children.size()]);

-}

-

-public void setStartIndex(int index) {

-	startIndex = index;

-}

-

-public void setEndIndex(int index) {

-	length = index - startIndex;

-}

-

-public int getStartIndex() {

-	return startIndex;

-}

-

-public int getEndIndex() {

-	return startIndex + length;

-}

-

-public int getLength() {

-	return length;

-}

-

-public String toString() {

-	return name;

-}

-

-}

-

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/Policy.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/Policy.java
deleted file mode 100644
index ec54752..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/Policy.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

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

- * All Rights Reserved.

- */

-

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

-import java.util.*;

-

-class Policy {

-	private static ResourceBundle bundle;

-	private static String bundleName = "org.eclipse.ant.internal.ui.messages";

-

-	static {

-		relocalize();

-	}

-/**

- * Lookup the message with the given ID in this catalog 

- */

-public static String bind(String id) {

-	return bind(id, (String[])null);

-}

-/**

- * Lookup the message with the given ID in this catalog and bind its

- * substitution locations with the given string.

- */

-public static String bind(String id, String binding) {

-	return bind(id, new String[] {binding});

-}

-/**

- * Lookup the message with the given ID in this catalog and bind its

- * substitution locations with the given strings.

- */

-public static String bind(String id, String binding1, String binding2) {

-	return bind(id, new String[] {binding1, binding2});

-}

-

-/**

- * Lookup the message with the given ID in this catalog and bind its

- * substitution locations with the given string values.

- */

-public static String bind(String id, String[] bindings) {

-	if (id == null)

-		return "No message available";

-	String message = null;

-	try {

-		message = bundle.getString(id);

-	} catch (MissingResourceException e) {

-		// If we got an exception looking for the message, fail gracefully by just returning

-		// the id we were looking for.  In most cases this is semi-informative so is not too bad.

-		return "Missing message: " + id + "in: " + bundleName;

-	}

-	if (bindings == null)

-		return message;

-	int length = message.length();

-	int start = -1;

-	int end = length;

-	StringBuffer output = new StringBuffer(80);

-	while (true) {

-		if ((end = message.indexOf('{', start)) > -1) {

-			output.append(message.substring(start + 1, end));

-			if ((start = message.indexOf('}', end)) > -1) {

-				int index = -1;

-				try {

-					index = Integer.parseInt(message.substring(end + 1, start));

-					output.append(bindings[index]);

-				} catch (NumberFormatException nfe) {

-					output.append(message.substring(end + 1, start + 1));

-				} catch (ArrayIndexOutOfBoundsException e) {

-					output.append("{missing " + Integer.toString(index) + "}");

-				}

-			} else {

-				output.append(message.substring(end, length));

-				break;

-			}

-		} else {

-			output.append(message.substring(start + 1, length));

-			break;

-		}

-	}

-	return output.toString();

-}

-public static IProgressMonitor monitorFor(IProgressMonitor monitor) {

-	if (monitor == null)

-		return new NullProgressMonitor();

-	return monitor;

-}

-/**

- * Creates a NLS catalog for the given locale.

- */

-public static void relocalize() {

-	bundle = ResourceBundle.getBundle(bundleName, Locale.getDefault());

-}

-public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks) {

-	if (monitor == null)

-		return new NullProgressMonitor();

-	if (monitor instanceof NullProgressMonitor)

-		return monitor;

-	return new SubProgressMonitor(monitor, ticks);

-}

-public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks, int style) {

-	if (monitor == null)

-		return new NullProgressMonitor();

-	if (monitor instanceof NullProgressMonitor)

-		return monitor;

-	return new SubProgressMonitor(monitor, ticks, style);

-}

-}

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/RunAntActionDelegate.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/RunAntActionDelegate.java
deleted file mode 100644
index 6ecf21e..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/RunAntActionDelegate.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListContentProvider.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListContentProvider.java
deleted file mode 100644
index a70f07c..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListContentProvider.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListLabelProvider.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListLabelProvider.java
deleted file mode 100644
index 50ed423..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListLabelProvider.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/UIBuildListener.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/UIBuildListener.java
deleted file mode 100644
index 15d07b5..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/UIBuildListener.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/messages.properties b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/messages.properties
deleted file mode 100644
index fcd0037..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/messages.properties
+++ /dev/null
@@ -1,86 +0,0 @@
-### Ant UI plugin message catalog

-

-

-### wizard

-wizard.title = Run Ant

-wizard.executeAntScriptTitle = Execute Ant Script

-wizard.availableTargetsLabel = Available Targets:

-wizard.argumentsLabel = Arguments:

-wizard.displayLogLabel = Display execution log to Ant console

-

-

-### label provider

-labelprovider.defaultTarget = Default target

-antTreeLabelProvider.invalidTaskName = Invalid task name

-

-

-### preferences page

-preferences.savePriorToBuilding = Save all modified resources automatically prior to manual execution of an Ant script

-preferences.preferedOutputLevel = Prefered output level

-preferences.info = Information (normal)

-preferences.verbose = Verbose

-preferences.debug = Debug

-preferences.description = Console text color settings.

-preferences.errorColor = Error:

-preferences.warningColor = Warning:

-preferences.infoColor = Information:

-preferences.verboseColor = Verbose:

-preferences.debugColor = Debug:

-preferences.font = Console font setting:

-

-

-### console labels

-find_action.label=Find...@Ctrl+F

-find_action.tooltip=Find

-find_action.image=

-find_action.description=Find

-

-

-### monitor

-monitor.runningAnt = Running Ant.

-monitor.buildStarted = Build started...

-monitor.targetColumn = Target: 

-monitor.started = started.

-

-

-### console

-console.copy = &Copy@Ctrl+C

-console.selectAll = Select &All@Ctrl+A

-console.clearOutput = Clear &Output

-console.expandAll = &Expand All

-console.hideOutputStructureTree = Hide output structure tree

-console.showOutputStructureTree = Show output structure tree

-console.hideTree = Hide tree

-console.showTree = Show tree

-console.showSelectedElementOnly = Show output of selected element only

-console.showCompleteOutput = Show complete output

-console.antScript = Ant Script

-console.project = Project

-

-### launcher

-launcher.noFile = No file recently executed.

-

-

-### status

-status.targetPropertyNotRead = Could not read ant targets property from resource: {0}.

-status.targetPropertyNotWritten = Could not write ant targets property to resource: {0}.

-status.logPropertyNotRead = Could not read log property from resource: {0}.

-status.logPropertyNotWritten = Could not write log property to resource: {0}.

-status.consoleNotInitialized = Could not initialize Ant console view

-status.argumentPropertyNotRead = Could not read argument property from resource: {0}.

-status.argumentPropertyNotWritten = Could not write argument property to resource: {0}.

-

-

-### error

-error.antScriptError = Ant script error.

-error.antParsingError = A problem occurred parsing the Ant file.

-error.antExecutionErrorTitle = Ant Execution Problems.

-error.antExecutionError = A problem occurred executing the Ant file.

-error.antExecutionErrorGeneral = See the output console for details.

-

-

-### exception

-exception.canceled = Canceled.

-exception.buildException = BuildException: {0}

-exception.missingResourceBundle = Missing Resource Bundle

-exception.missingResourceBundle.message = The resource properties for the Ant UI plugin could not be found.

diff --git a/platform/org.eclipse.sdk/.vcm_meta b/platform/org.eclipse.sdk/.vcm_meta
deleted file mode 100644
index 3f788a5..0000000
--- a/platform/org.eclipse.sdk/.vcm_meta
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<comment></comment>

-</project-description>

diff --git a/platform/org.eclipse.sdk/about.html b/platform/org.eclipse.sdk/about.html
deleted file mode 100644
index c801838..0000000
--- a/platform/org.eclipse.sdk/about.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html>

-<head>

-<meta name="about-version" content="2.0">

-<meta name="date" content="011205">

-<meta name="third-party" content="no">

-<meta name="other-licenses" content="no">

-<meta name="cryptography" content="no">

-<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>

-<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" face="Arial,Helvetica">About This Plug-in</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

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

-<h3>License</h3>

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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> ("CPL").  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 ("Other License"), any modifications, enhancements and/or

-other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the

-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available

-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also

-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of

-the CPL.</p>

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

-</body>

-</html>
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/about_prod.gif b/platform/org.eclipse.sdk/about_prod.gif
deleted file mode 100644
index 262c524..0000000
--- a/platform/org.eclipse.sdk/about_prod.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.sdk/about_prod_basic.gif b/platform/org.eclipse.sdk/about_prod_basic.gif
deleted file mode 100644
index 14ee96a..0000000
--- a/platform/org.eclipse.sdk/about_prod_basic.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.sdk/build.properties b/platform/org.eclipse.sdk/build.properties
deleted file mode 100644
index 220b667..0000000
--- a/platform/org.eclipse.sdk/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-# Eclipse build contribution

-bin.includes=*.gif,platform.ini,platform.properties,plugin.xml,plugin.properties,product.properties,welcome.xml,product.ini,about.html

diff --git a/platform/org.eclipse.sdk/platform.ini b/platform/org.eclipse.sdk/platform.ini
deleted file mode 100644
index 0d3adeb..0000000
--- a/platform/org.eclipse.sdk/platform.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Eclipse Platform

-detailedName = %detailedName 

-version = 2.0 (pre-release)

-buildID = @build@

-platformURL = http://www.eclipse.org

-copyright = %copyright 

-

diff --git a/platform/org.eclipse.sdk/platform.properties b/platform/org.eclipse.sdk/platform.properties
deleted file mode 100644
index 3fd9e08..0000000
--- a/platform/org.eclipse.sdk/platform.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-copyright = (c) Copyright IBM Corp. 2000, 2001.  All rights reserved.\n\

-\n\

-     This offering is based on technology from the Eclipse Project.\n\

-     http://www.eclipse.org\n\

-\n\

-     Third party code may be provided with, included in, or accompany this product.\n\

-     See the license and plugin info for details.\n\

-

-detailedName = Eclipse Platform
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/plugin.properties b/platform/org.eclipse.sdk/plugin.properties
deleted file mode 100644
index e698ba3..0000000
--- a/platform/org.eclipse.sdk/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-pluginName = Eclipse SDK Configuration Plug-In

diff --git a/platform/org.eclipse.sdk/plugin.xml b/platform/org.eclipse.sdk/plugin.xml
deleted file mode 100644
index 69ed2d5..0000000
--- a/platform/org.eclipse.sdk/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin

-   id="org.eclipse.sdk"

-   name="%pluginName"

-   version="2.0"

-   provider-name="Object Technology International, Inc.">

-</plugin>

diff --git a/platform/org.eclipse.sdk/prod.gif b/platform/org.eclipse.sdk/prod.gif
deleted file mode 100644
index 6ca37e0..0000000
--- a/platform/org.eclipse.sdk/prod.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.sdk/prod_basic.gif b/platform/org.eclipse.sdk/prod_basic.gif
deleted file mode 100644
index 089b8f4..0000000
--- a/platform/org.eclipse.sdk/prod_basic.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.sdk/product.ini b/platform/org.eclipse.sdk/product.ini
deleted file mode 100644
index d71dd78..0000000
--- a/platform/org.eclipse.sdk/product.ini
+++ /dev/null
@@ -1,18 +0,0 @@
-name = Eclipse Project SDK

-detailedName = %detailedName

-image = prod.gif

-image_basic = prod_basic.gif

-version = 2.0 (pre-release)

-application = org.eclipse.ui.workbench

-productURL = http://www.eclipse.org

-aboutImage = about_prod.gif

-aboutImage_basic = about_prod_basic.gif

-welcomePage = welcome.xml

-baseInfosets = /org.eclipse.platform.doc.user/toc.xml,\

-                              /org.eclipse.jdt.doc.user/toc.xml,\

-                              /org.eclipse.platform.doc.isv/toc.xml,\

-                              /org.eclipse.jdt.doc.isv/toc.xml,\

-                              /org.eclipse.pde.doc.user/toc.xml

-defaultPerspectiveId = org.eclipse.ui.resourcePerspective

-copyright = %copyright

-buildID = @build@
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/product.properties b/platform/org.eclipse.sdk/product.properties
deleted file mode 100644
index a6eb171..0000000
--- a/platform/org.eclipse.sdk/product.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-copyright = (c) Copyright IBM Corp. 2000, 2001.  All rights reserved.\n\

-\n\

-     Visit the website at http://www.eclipse.org\n\

-

-detailedName = Eclipse Project SDK

-

diff --git a/platform/org.eclipse.sdk/welcome.xml b/platform/org.eclipse.sdk/welcome.xml
deleted file mode 100644
index d319595..0000000
--- a/platform/org.eclipse.sdk/welcome.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 

-<welcomePage 

-	title="Welcome to the Workbench">

-	<intro>This page will help familiarize you with the Workbench.

-To get started, read the sections below and click on the related links. </intro>

-

-	<item><b>Create Java components </b>

-To begin Java development, create a <action pluginId="org.eclipse.jdt.ui"  class="org.eclipse.jdt.internal.ui.wizards.OpenProjectWizardAction">Java project</action>.  Select the newly created project

-and choose File > New > Other.... In the left column of the wizard, select Java and double

-click on Java Package in the right column. Fill in the name of your package and click Finish. 

-

-To create a Java class, select the package in the navigator view and click on the 

-"Open the New Wizard" toolbar button (on the far left of the toolbar). This toolbar button

-provides us with a quick alternative to File > New.  Choose Java Class in the right column of

-the category Java, and click Next. In the class wizard fill in the name of your class and 

-click Finish to create the class and start editing it.</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. You can also use Alt+Up and Alt+Down to

-move between the open perspectives. 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.

-

-When opening perspectives you can hold down Ctrl (on Linux use Alt+Shift) or Shift to

-optionally open each perspective in its own window, or to replace the current perspective 

-with a new perspective. The behavior of Ctrl and Shift is configurable from <action pluginId="org.eclipse.ui"  class="org.eclipse.ui.internal.OpenPreferencesAction">Window > Preferences</action>.

-

-To open the Java perspective choose Perspective > Open > Java. </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 Perspective > Show View. 

-To reset the perspective to its original state, choose <action pluginId="org.eclipse.ui"  class="org.eclipse.ui.internal.ResetPerspectiveAction">Perspective > Reset</action>. 

-

-Once you have arranged your perspective, you can save it using Perspective > Save 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">Perspective > Customize...</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.vcm.ui"  class="org.eclipse.vcm.internal.ui.actions.OpenRepositoriesViewAction">Repositories view</action>. Next, specify the location

-of your CVS repository. To do this choose <action pluginId="org.eclipse.vcm.ui.cvs"  class="org.eclipse.vcm.internal.ui.ccvs.NewRepositoryConnectionAction">New > CVS Repository Location...</action> from the

-Repositories view popup menu. When the location wizard opens, fill in the details of your 

-CVS repository and click Finish. 

-

-In the Repositories view expand the location entry and expand Streams. Choose the HEAD

-stream and expand it to view any ongoing work. Select the projects you want to work with

-and choose "Add to Workspace" from the project's popup menu.</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> or the <topic id="/org.eclipse.jdt.doc.user/toc.xml">Java Development User Guide</topic>.</item>

-

-

-</welcomePage>
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/.classpath b/update/org.eclipse.update.core/.classpath
deleted file mode 100644
index d609951..0000000
--- a/update/org.eclipse.update.core/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="src"/>
-    <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.apache.xerces/xerces.jar" sourcepath="ECLIPSE_HOME/plugins/org.apache.xerces/xercessrc.zip"/>
-    <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="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.core/.cvsignore b/update/org.eclipse.update.core/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/.options b/update/org.eclipse.update.core/.options
deleted file mode 100644
index d0b3019..0000000
--- a/update/org.eclipse.update.core/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-org.eclipse.update.core/debug=true

-org.eclipse.update.core/debug/warnings=true

-org.eclipse.update.core/debug/parsing=true

-org.eclipse.update.core/debug/install=true

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

-<project-description>

-	<comment></comment>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<nature id="org.eclipse.pde.PluginNature"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-	<builder name="org.eclipse.pde.ManifestBuilder">

-	</builder>

-	<builder name="org.eclipse.pde.SchemaBuilder">

-	</builder>

-</project-description>

diff --git a/update/org.eclipse.update.core/Scrapbook.jpage b/update/org.eclipse.update.core/Scrapbook.jpage
deleted file mode 100644
index a614955..0000000
--- a/update/org.eclipse.update.core/Scrapbook.jpage
+++ /dev/null
@@ -1,44 +0,0 @@
-		java.util.Enumeration enum =  System.getProperties().keys();

-		String key = null;

-		while (enum.hasMoreElements()){

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

-			System.out.print(key);

-			for (int i =0;i<(30-key.length());i++)System.out.print(" ");

-			System.out.println("->"+System.getProperty(key));

-		}

-

-

-new java.net.URL("file://C:/temp/org.eclipse.update.core.feature1_1.0.0/org.eclipse.update.core.feature1.plugin1_1.1.1.jar").openStream()

-

-(new java.io.File("C:\\chris chris\hello\\")).mkdirs();

-

-java.net.URL a =  new java.net.URL("http","www.oti.com","/feature/blah.jar");

-java.net.URL b =  new java.net.URL("jar",null,a.toExternalForm()+"!/hello.txt");

-b

-

-new java.net.URL("file",null,System.getProperty("java.io.tmpdir"));

-

-String tempDir = "c:\\TEMP\\features2.jar";

-java.net.URL TEMP_SITE = new java.net.URL("file",null,tempDir);

-java.net.URL file = new java.net.URL("jar",null,TEMP_SITE.toExternalForm()+"!/feature.xml");

-file.openStream();

-file

-

-java.io.File f =  new java.io.File("c:\\temp\\xtf\\file.jar");

-f.mkdirs()

-

-java.util.Locale.getDefault()

-java.util.ResourceBundle

-

-java.net.URL url = new java.net.URL("file",null,"C:\\path"+java.io.File.separator);

-url.getPath().endsWith("/");

-url

-

-java.net.URL url = new java.net.URL("file:C:\\path");

-url

-

-java.lang.ClassLoader l = new java.net.URLClassLoader(new java.net.URL[] {new java.net.URL("file",null,"c:\\oti\\wsw205\\eclipse\\install\\features\\org.eclipse.help.feature_1.0.4/") }, null);

-java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("feature", java.util.Locale.getDefault(), l);

-bundle

-

-

diff --git a/update/org.eclipse.update.core/about.html b/update/org.eclipse.update.core/about.html
deleted file mode 100644
index c801838..0000000
--- a/update/org.eclipse.update.core/about.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html>

-<head>

-<meta name="about-version" content="2.0">

-<meta name="date" content="011205">

-<meta name="third-party" content="no">

-<meta name="other-licenses" content="no">

-<meta name="cryptography" content="no">

-<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>

-<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" face="Arial,Helvetica">About This Plug-in</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

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

-<h3>License</h3>

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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> ("CPL").  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 ("Other License"), any modifications, enhancements and/or

-other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the

-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available

-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also

-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of

-the CPL.</p>

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

-</body>

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

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

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

-name = Install/Update Core

-provider-name = International Business Machines Corp.
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/plugin.xml b/update/org.eclipse.update.core/plugin.xml
deleted file mode 100644
index 618057b..0000000
--- a/update/org.eclipse.update.core/plugin.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<plugin

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

-   name="%name"

-   version="2.0.0"

-   provider-name="%provider-name"

-   class="org.eclipse.update.internal.core.UpdateManagerPlugin">

-<requires>

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

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

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

-</requires>

-

-<runtime>

-   <library name="updatecore.jar">

-      <export name="*"/>

-   </library>

-</runtime>

-</plugin>

diff --git a/update/org.eclipse.update.core/src/org/eclipse/core/boot/BootLoader2.java b/update/org.eclipse.update.core/src/org/eclipse/core/boot/BootLoader2.java
deleted file mode 100644
index 283652c..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/core/boot/BootLoader2.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.core.boot;

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.IOException;

-import java.net.URL;

-

-import org.eclipse.core.internal.boot.InternalBootLoader2;

-

-public class BootLoader2 {

-	

-	/**

-	 * Return the current platform configuration

-	 * 

-	 * @return platform configuration used in current instance of platform

-	 */	

-	public static IPlatformConfiguration getCurrentPlatformConfiguration() throws IOException {

-		return InternalBootLoader2.getCurrentPlatformConfiguration();

-	}

-	

-	/**

-	 * Return 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 static IPlatformConfiguration getPlatformConfiguration(URL url) throws IOException {

-		return InternalBootLoader2.getPlatformConfiguration(url);

-	}

-

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/core/boot/IPlatformConfiguration.java b/update/org.eclipse.update.core/src/org/eclipse/core/boot/IPlatformConfiguration.java
deleted file mode 100644
index eb6b29d..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/core/boot/IPlatformConfiguration.java
+++ /dev/null
@@ -1,222 +0,0 @@
-package org.eclipse.core.boot;

-/*

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

- * All Rights Reserved.

- */

- 

-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

- */

-public interface IPlatformConfiguration {

-	

-	/**

-	 * Configuration entry representing an install site. 

-	 */

-	public interface ISiteEntry {

-		

-		/**

-		 * Returns the URL for this site

-		 * 

-		 * @return site url

-		 */		

-		public URL getURL();

-		

-		/**

-		 * Returns the policy for this site

-		 * 

-		 * @return site policy

-		 */				

-		public ISitePolicy getSitePolicy();

-		

-		/**

-		 * Sets the site policy

-		 * 

-		 * @param policy site policy

-		 */

-		public void setSitePolicy(ISitePolicy policy);				

-	}

-	

-	/**

-	 * 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).

-	 * <li>specify site-defined plug-in list(s) (type==SITE_INCLUDE). 

-	 * This is typically the best policy when using a remote administered 

-	 * site where the user wants to defer to the site administrator the

-	 * maintenance of the list of plug-ins that will be included at

-	 * startup.

-	 * </ul>

-	 */

-	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;

-	

-		/**

-		 * Site-defined inclusion list. The list associated with this

-		 * policy type is interpreted as path entries of site-include

-		 * files <b>relative</b> to the site URL. Each site-include file

-		 * is a Java properties file with one or more properties containing

-		 * comma-separated list of plugin.xml or fragment.xml paths 

-		 * <b>relative</b> to the site URL. The property keys are not

-		 * interpreted. They are simply supported as a convenience to the

-		 * list administrator (able to organize the site-include file

-		 * as several shorter path lists, rather than one long one).

-		 * 

-		 * Following is an example of the content of a site-include file.

-		 * <code>

-		 * tools.xml = plugins/com.xyz.xml_1.0.3/plugin.xml,\

-		 *             plugins/com.xyz.xml.nl/fragment.xml

-		 * tools.ejb = ejb/com.xyz.ejbV1/plugin.xml,\

-		 *             plugins/com.xyz.ejb_3/plugin.xml

-		 * util.common = utils/testharness/plugin.xml,\

-		 *               utils/relengtools/plugin.xml,\

-		 *               utils/nltools/plugin.xml

-		 * </code>

-		 */

-		public static final int SITE_INCLUDE = 2;

-		

-		/**

-		 * Return policy type

-		 * 

-		 * @return policy type

-		 */

-		public int getType();

-		

-		/**

-		 * Return policy inclusion/ exclusion list

-		 * 

-		 * @return the list as an array

-		 */

-		public String[] getList();

-		

-		/**

-		 * Set new policy list

-		 * 

-		 * @param list policy inclusion/ exclusion list as an array.

-		 * Returns an empty array if there are no entries.

-		 */

-		public void setList(String[] list);

-	}

-	

-	/**

-	 * Create a site entry

-	 *

-	 * @param url site URL

-	 * @param policy site policy

-	 * @return created site entry

-	 */	

-	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

-	 */		

-	public ISitePolicy createSitePolicy(int type, String[] list);		

-		

-	/**

-	 * 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 

-	 */	

-	public void configureSite(ISiteEntry entry);

-		

-	/**

-	 * Configures the specified site entry. If a site entry with the

-	 * same site URL is already configured, the replacement behavior for

-	 * the entry can be specified.

-	 * 

-	 * @param entry site entry 

-	 * @param  flag indicating whether an existing configured entry with

-	 * the same URL should be replaced (<code>true</code>) or not (<code>false</code>).

-	 */	

-	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

-	 */	

-	public void unconfigureSite(ISiteEntry entry);

-		

-	/**

-	 * Returns configured site entries

-	 * 

-	 * @return array of site entries. Returns an empty array if no sites are

-	 * configured

-	 */	

-	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

-	 */	

-	public ISiteEntry findConfiguredSite(URL url);

-	

-	/**

-	 * Returns the URL location of the configuration information

-	 * 

-	 * @return configuration location URL, or <code>null</code> if the

-	 * configuration location could not be determined.

-	 */

-	public URL getConfigurationLocation();

-	

-	/**

-	 * Called to save the configuration information

-	 */	

-	public void save() throws IOException;

-	

-	/**

-	 * Called to save the configuration information in the

-	 * specified location

-	 * 

-	 * @param url save location.

-	 */	

-	public void save(URL url) throws IOException;

-

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/InternalBootLoader2.java b/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/InternalBootLoader2.java
deleted file mode 100644
index 67108db..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/InternalBootLoader2.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.core.internal.boot;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.IOException;

-import java.net.URL;

-

-public class InternalBootLoader2 {

-	

-	private static PlatformConfiguration current = null;

-	

-	public static PlatformConfiguration getCurrentPlatformConfiguration() throws IOException {

-		if (current == null) 

-			current = new PlatformConfiguration();

-		return current;

-	}

-	

-	public static PlatformConfiguration getPlatformConfiguration(URL url) throws IOException {

-		return new PlatformConfiguration(url);

-	}

-

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/PlatformConfiguration.java b/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/PlatformConfiguration.java
deleted file mode 100644
index b40a499..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/PlatformConfiguration.java
+++ /dev/null
@@ -1,571 +0,0 @@
-package org.eclipse.core.internal.boot;

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.File;

-import java.io.FileOutputStream;

-import java.io.IOException;

-import java.io.InputStream;

-import java.io.OutputStream;

-import java.io.PrintWriter;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.net.URLConnection;

-import java.net.UnknownServiceException;

-import java.util.ArrayList;

-import java.util.HashMap;

-import java.util.Properties;

-import java.util.StringTokenizer;

-

-import org.eclipse.core.boot.BootLoader;

-import org.eclipse.core.boot.IPlatformConfiguration;

-import org.eclipse.core.boot.IPlatformConfiguration.ISiteEntry;

-import org.eclipse.core.boot.IPlatformConfiguration.ISitePolicy;

-

-public class PlatformConfiguration implements IPlatformConfiguration {

-

-	private URL configLocation;

-	private HashMap sites;

-	private HashMap nativeSites;

-

-	public static boolean DEBUG = true;

-

-	private static final String PLUGINS = "plugins";

-	private static final String INSTALL = "install";

-	private static final String CONFIG_FILE = "platform.cfg";

-	private static final String FEATURES = INSTALL + "/features";

-	private static final String LINKS = INSTALL + "/links";

-	private static final String PLUGIN_XML = "plugin.xml";

-	private static final String FRAGMENT_XML = "fragment.xml";

-	private static final String FEATURE_XML = "feature.xml";

-

-	private static final String CFG_SITE = "site";

-	private static final String CFG_URL = "url";

-	private static final String CFG_POLICY = "policy";

-	private static final String[] CFG_POLICY_TYPE = {"USER-INCLUDE", "USER-EXCLUDE", "SITE-INCLUDE"};

-	private static final String CFG_POLICY_TYPE_UNKNOWN = "UNKNOWN";

-	private static final String CFG_LIST = "list";

-	private static final String CFG_VERSION = "version";

-	private static final String VERSION = "1.0";

-	private static final String EOF = "eof";

-	private static final int CFG_LIST_LENGTH = 10;

-	

-	private static final int DEFAULT_POLICY_TYPE = ISitePolicy.USER_EXCLUDE;

-	private static final String[] DEFAULT_POLICY_LIST = new String[0];

-

-	public class SiteEntry implements IPlatformConfiguration.ISiteEntry {

-

-		private URL url;

-		private ISitePolicy policy;

-		private ArrayList features;

-		private ArrayList plugins;

-

-		private SiteEntry() {

-		}

-		private SiteEntry(URL url, ISitePolicy policy) {

-			if (url==null)

-				throw new IllegalArgumentException();

-				

-			if (policy==null)

-				throw new IllegalArgumentException();

-				

-			this.url = url;

-			this.policy = policy;

-			this.features = null;

-			this.plugins = null;

-		}

-

-		/*

-		 * @see ISiteEntry#getURL()

-		 */

-		public URL getURL() {

-			return url;

-		}

-

-		/*

-		* @see ISiteEntry#getSitePolicy()

-		*/

-		public ISitePolicy getSitePolicy() {

-			return policy;

-		}

-

-		/*

-		 * @see ISiteEntry#setSitePolicy(ISitePolicy)

-		 */

-		public void setSitePolicy(ISitePolicy policy) {				

-			if (policy==null)

-				throw new IllegalArgumentException();

-			this.policy = policy;

-		}

-		

-		private String[] detectFeatures() {

-			if (!supportsDetection())

-				return new String[0];

-

-			// locate feature entries on site

-			features = new ArrayList();

-			File root =

-				new File(url.getFile().replace('/', File.separatorChar) + FEATURES);

-			String[] list = root.list();

-			String path;

-			File plugin;

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

-				path = list[i] + File.separator + FEATURE_XML;

-				plugin = new File(root, path);

-				if (!plugin.exists()) {

-					continue;

-				}

-				features.add(FEATURES + "/" + path.replace(File.separatorChar, '/'));

-			}				

-				

-			return (String[])features.toArray(new String[0]);

-		}

-		

-		private String[] detectPlugins() {

-			if (!supportsDetection())

-				return new String[0];

-								

-			// locate plugin entries on site

-			plugins = new ArrayList();

-			File root =

-				new File(url.getFile().replace('/', File.separatorChar) + PLUGINS);

-			String[] list = root.list();

-			String path;

-			File plugin;

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

-				path = list[i] + File.separator + PLUGIN_XML;

-				plugin = new File(root, path);

-				if (!plugin.exists()) {

-					path = list[i] + File.separator + FRAGMENT_XML;

-					plugin = new File(root, path);

-					if (!plugin.exists())

-						continue;

-				}

-				plugins.add(PLUGINS + "/" + path.replace(File.separatorChar, '/'));

-			}				

-				

-			return (String[])plugins.toArray(new String[0]);

-		}

-		

-		private boolean supportsDetection() {

-			return url.getProtocol().equals("file");

-		}

-		

-		private String[] getDetectedFeatures() {

-			if (features == null)

-				return detectFeatures();

-			else

-				return (String[])features.toArray(new String[0]);

-		}

-		

-		private String[] getDetectedPlugins() {

-			if (plugins == null)

-				return detectPlugins();

-			else 

-				return (String[])plugins.toArray(new String[0]);

-		}

-	}

-

-	public class SitePolicy implements IPlatformConfiguration.ISitePolicy {

-

-		private int type;

-		private String[] list;

-

-		private SitePolicy() {

-		}

-		private SitePolicy(int type, String[] list) {

-			if (type != ISitePolicy.USER_INCLUDE

-				&& type != ISitePolicy.USER_EXCLUDE

-				&& type != ISitePolicy.SITE_INCLUDE)

-				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 void setList(String[] list) {

-			if (list == null)

-				this.list = new String[0];

-			else

-				this.list = list;

-		}

-

-	}

-

-	PlatformConfiguration() throws IOException {

-		this.sites = new HashMap();

-		this.nativeSites = new HashMap();

-		initializeCurrent();

-	}

-	

-	PlatformConfiguration(URL url) throws IOException {

-		this.sites = new HashMap();

-		this.nativeSites = new HashMap();

-		initialize(url);

-	}

-

-	/*

-	 * @see IPlatformConfiguration#createSiteEntry(URL, ISitePolicy)

-	 */

-	public ISiteEntry createSiteEntry(URL url, ISitePolicy policy) {

-		return new PlatformConfiguration.SiteEntry(url, policy);

-	}

-

-	/*

-	 * @see IPlatformConfiguration#createSitePolicy(int, String[])

-	 */

-	public ISitePolicy createSitePolicy(int type, String[] list) {

-		return new PlatformConfiguration.SitePolicy(type, list);

-	}

-

-	/*

-	 * @see IPlatformConfiguration#configureSite(ISiteEntry)

-	 */

-	public void configureSite(ISiteEntry entry) {

-		configureSite(entry, false);

-	}

-

-	/*

-	 * @see IPlatformConfiguration#configureSite(ISiteEntry, boolean)

-	 */

-	public void configureSite(ISiteEntry entry, boolean replace) {

-

-		if (entry == null)

-			return;

-

-		URL key = entry.getURL();

-		if (key == null)

-			return;

-

-		if (sites.containsKey(key) && !replace)

-			return;

-

-		sites.put(key, entry);

-	}

-

-	/*

-	 * @see IPlatformConfiguration#unconfigureSite(ISiteEntry)

-	 */

-	public void unconfigureSite(ISiteEntry entry) {

-		if (entry == null)

-			return;

-

-		URL key = entry.getURL();

-		if (key == null)

-			return;

-

-		sites.remove(key);

-	}

-

-	/*

-	 * @see IPlatformConfiguration#getConfiguredSites()

-	 */

-	public ISiteEntry[] getConfiguredSites() {

-		if (sites.size() == 0)

-			return new ISiteEntry[0];

-

-		return (ISiteEntry[]) sites.values().toArray(new ISiteEntry[0]);

-	}

-

-	/*

-	 * @see IPlatformConfiguration#findConfiguredSite(URL)

-	 */

-	public ISiteEntry findConfiguredSite(URL url) {

-		if (url == null)

-			return null;

-

-		return (ISiteEntry) sites.get(url);

-	}

-

-	/*

-	 * @see IPlatformConfiguration#getConfigurationLocation()

-	 */

-	public URL getConfigurationLocation() {

-		return configLocation;

-	}

-

-	/*

-	 * @see IPlatformConfiguration#save()

-	 */

-	public void save() throws IOException {

-		save(configLocation);

-	}

-	

-	/*

-	 * @see IPlatformConfiguration#save(URL)

-	 */

-	public void save(URL url) throws IOException {		

-		if (url == null)

-			throw new IOException(Policy.bind("cfig.unableToSave.noURL"));

-

-		URLConnection uc = url.openConnection();

-		uc.setDoOutput(true);

-		OutputStream os = null;

-		try {

-			os = uc.getOutputStream();

-		} catch (UnknownServiceException e) {

-			// retry with direct file i/o

-			if (!url.getProtocol().equals("file"))

-				throw e;

-			os = new FileOutputStream(url.getFile());

-		}

-		PrintWriter w = new PrintWriter(os);

-		try {

-			write(w);

-		} finally {

-			w.close();

-		}

-	}

-

-	private void initializeCurrent() throws IOException {

-

-		// FIXME:

-		// check for safe mode

-		// flag: -safe		come up in safe mode (loads configuration

-		//                  but compute "safe" plugin path

-

-		// determine configuration to use

-		// flag: -config COMMON | HOME | CURRENT | <path>

-		//        COMMON	in <eclipse>/install/<cfig>

-		//        HOME		in <user.home>/eclipse/install/<cfig>

-		//        CURRENT	in <user.dir>/eclipse/install/<cfig>

-		//        <path>	as specififed

-		//        SAFE		come up in SAFE mode

-		// if none specified, search order for configuration is

-		// CURRENT, HOME, COMMON

-		// if none found new configuration is created in the first

-		// r/w location in order of COMMON, HOME, CURRENT	

-

-		// load configuration. 

-

-		// if none found, do default setup

-		setupDefaultConfiguration();

-		

-		// detect links

-

-		// detect changes

-

-		// if (feature changes)

-		// 	trigger alternate startup (into update app)

-		// else 

-		//	process any plugin-only changes

-	}

-	

-	private void initialize(URL url) throws IOException {

-		if (url == null) 

-			return;

-			

-		load(url);

-		configLocation = url;

-	}

-	

-	private void load(URL url) throws IOException {		

-		

-		if (url == null) 

-			throw new IOException(Policy.bind("cfig.unableToLoad.noURL"));

-		

-		// try to load saved properties file

-		Properties props = new Properties();

-		InputStream is = null;

-		try {

-			is = url.openStream();

-			props.load(is);

-			// check to see if we have complete config file

-			if (!EOF.equals(props.getProperty(EOF))) {

-				if (DEBUG)

-					debug("skipping incomplete configuration file " + url.toString());

-				throw new IOException(Policy.bind("cfig.unableToLoad.incomplete",url.toString()));

-			}

-		} finally {

-			if (is!=null) {

-				try {

-					is.close();

-				} catch(IOException e) {

-				}

-			}

-		}

-		

-		if (DEBUG)

-			debug("using configuration file " + url.toString());

-		

-		// load simple properties 

-		// FIXME: currently none

-		

-		// load site properties

-		ISiteEntry se = loadSite(props, CFG_SITE+".0", null);					

-		for (int i=1; se != null; i++) {

-			configureSite(se);

-			se = loadSite(props, CFG_SITE+"."+i, null);	

-		}

-	}

-	

-	private ISiteEntry loadSite(Properties props, String name, ISiteEntry dflt) {

-

-		String urlString = loadAttribute(props, name+"."+CFG_URL, null);

-		if (urlString == null)

-			return dflt;

-			

-		URL url = null;

-		try {

-			url = new URL(urlString);

-		} catch(MalformedURLException e) {

-			return dflt;

-		}

-			

-		int policyType;

-		String[] policyList;

-		String typeString = loadAttribute(props, name+"."+CFG_POLICY, null);

-		if (typeString == null) {

-			policyType = DEFAULT_POLICY_TYPE;

-			policyList = DEFAULT_POLICY_LIST;

-		} else {

-			int i;

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

-				if (typeString.equals(CFG_POLICY_TYPE[i])) {

-					break;

-				}

-			}

-			if (i>=CFG_POLICY_TYPE.length) {

-				policyType = DEFAULT_POLICY_TYPE;

-				policyList = DEFAULT_POLICY_LIST;

-			} else {

-				policyType = i;

-				policyList = loadListAttribute(props, name+"."+CFG_LIST, new String[0]);

-			}

-		}

-

-		ISitePolicy sp = createSitePolicy(policyType, policyList);

-		return createSiteEntry(url,sp);

-	}

-	

-	private String[] loadListAttribute(Properties props, String name, String[] dflt) {

-		ArrayList list = new ArrayList();

-		String value = loadAttribute(props, name+".0",null);

-		if (value == null)

-			return dflt;

-			

-		for (int i=1; value != null; i++) {

-			loadListAttributeSegment(list, value);

-			value = loadAttribute(props, name+"."+i, null);

-		}

-		return (String[])list.toArray(new String[0]);

-	}

-	

-	private void loadListAttributeSegment(ArrayList list,String value) {

-		

-		if (value==null) return;

-	

-		StringTokenizer tokens = new StringTokenizer(value, ",");

-		String token;

-		while (tokens.hasMoreTokens()) {

-			token = tokens.nextToken().trim();

-			if (!token.equals("")) 

-				list.add(token);

-		}

-		return;

-	}

-		

-	private String loadAttribute(Properties props, String name, String dflt) {

-		String prop = props.getProperty(name);

-		if (prop == null)

-			return dflt;

-		else

-			return prop.trim();

-	}

-	

-	private void setupDefaultConfiguration() throws IOException {

-		// default initial startup configuration:

-		// site: current install, policy: USER_EXCLUDE, empty list

-		ISitePolicy sp = createSitePolicy(DEFAULT_POLICY_TYPE, DEFAULT_POLICY_LIST);

-		ISiteEntry se =

-			createSiteEntry(

-				BootLoader.getInstallURL(), sp);

-		configureSite(se);

-		configLocation =

-				new URL(BootLoader.getInstallURL(), INSTALL + "/" + CONFIG_FILE);

-		if (DEBUG)

-			debug("creating default configuration " + configLocation.getFile());

-	}

-

-	private void write(PrintWriter w) {

-		writeAttribute(w, CFG_VERSION, VERSION);

-		SiteEntry[] list = (SiteEntry[]) sites.values().toArray(new SiteEntry[0]);

-		if (list.length == 0)

-			return;

-

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

-			writeSite(w, CFG_SITE + "." + Integer.toString(i), list[i]);

-		}

-		writeAttribute(w, EOF, EOF);

-	}

-

-	private void writeSite(PrintWriter w, String id, SiteEntry entry) {

-		writeAttribute(w, id + "." + CFG_URL, entry.getURL().toString());

-		int type = entry.getSitePolicy().getType();

-		String typeString = CFG_POLICY_TYPE_UNKNOWN;

-		try {

-			typeString = CFG_POLICY_TYPE[type];

-		} catch (IndexOutOfBoundsException e) {

-		}

-		writeAttribute(w, id + "." + CFG_POLICY, typeString);

-		writeListAttribute(w, id + "." + CFG_LIST, entry.getSitePolicy().getList());

-	}

-	

-	private void writeListAttribute(PrintWriter w, String id, String[] list) {

-		if (list == null || list.length == 0)

-			return;

-			

-		String value = "";

-		int listLen = 0;

-		int listIndex = 0;

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

-			if (listLen != 0)

-				value += ",";

-			else

-				value = "";

-			value += list[i];

-

-			if (++listLen >= CFG_LIST_LENGTH) {

-				writeAttribute(w, id + "." + Integer.toString(listIndex++), value);

-				listLen = 0;

-			}

-		}

-		if (listLen != 0)

-			writeAttribute(w, id + "." + Integer.toString(listIndex), value);

-	}

-

-	private void writeAttribute(PrintWriter w, String id, String value) {

-		w.println(id + "=" + escapedValue(value));

-	}

-

-	private String escapedValue(String value) {

-		// FIXME: implement escaping for property file

-		return value;

-	}

-	

-	private static void debug(String s) {

-		System.out.println("PlatformConfiguration: " + s);

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/Policy.java b/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/Policy.java
deleted file mode 100644
index 95bae89..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/Policy.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.eclipse.core.internal.boot;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.util.*;

-

-public class Policy {

-	private static ResourceBundle bundle;

-	private static String bundleName = "org.eclipse.core.internal.boot.messages";

-

-	static {

-		relocalize();

-	}

-

-/**

- * Lookup the message with the given ID in this catalog 

- */

-public static String bind(String id) {

-	return bind(id, (String[])null);

-}

-/**

- * Lookup the message with the given ID in this catalog and bind its

- * substitution locations with the given string.

- */

-public static String bind(String id, String binding) {

-	return bind(id, new String[] {binding});

-}

-/**

- * Lookup the message with the given ID in this catalog and bind its

- * substitution locations with the given strings.

- */

-public static String bind(String id, String binding1, String binding2) {

-	return bind(id, new String[] {binding1, binding2});

-}

-

-/**

- * Lookup the message with the given ID in this catalog and bind its

- * substitution locations with the given string values.

- */

-public static String bind(String id, String[] bindings) {

-	if (id == null)

-		return "No message available";

-	String message = null;

-	try {

-		message = bundle.getString(id);

-	} catch (MissingResourceException e) {

-		// If we got an exception looking for the message, fail gracefully by just returning

-		// the id we were looking for.  In most cases this is semi-informative so is not too bad.

-		return "Missing message: " + id + " in: " + bundleName;

-	}

-	if (bindings == null)

-		return message;

-	int length = message.length();

-	int start = -1;

-	int end = length;

-	StringBuffer output = new StringBuffer(80);

-	while (true) {

-		if ((end = message.indexOf('{', start)) > -1) {

-			output.append(message.substring(start + 1, end));

-			if ((start = message.indexOf('}', end)) > -1) {

-				int index = -1;

-				try {

-					index = Integer.parseInt(message.substring(end + 1, start));

-					output.append(bindings[index]);

-				} catch (NumberFormatException nfe) {

-					output.append(message.substring(end + 1, start + 1));

-				} catch (ArrayIndexOutOfBoundsException e) {

-					output.append("{missing " + Integer.toString(index) + "}");

-				}

-			} else {

-				output.append(message.substring(end, length));

-				break;

-			}

-		} else {

-			output.append(message.substring(start + 1, length));

-			break;

-		}

-	}

-	return output.toString();

-}

-

-/**

- * Creates a NLS catalog for the given locale.

- */

-public static void relocalize() {

-	bundle = ResourceBundle.getBundle(bundleName, Locale.getDefault());

-}

-}

diff --git a/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/messages.properties b/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/messages.properties
deleted file mode 100644
index 418d171..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/core/internal/boot/messages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-### Boot plugin message catalog

-

-ok = OK

-

-### URL

-url.badVariant=Unsupported "platform:" protocol variation {0}

-url.invalidURL=Invalid "platform:" URL {0}

-url.createConnection=Unable to create connection {0}

-

-### Update

-update.expecting=Expecting {0}

-update.expectingEnd=Expecting end element </{0}>

-update.resourceNotFound=Resource not found {0}

-update.conflicts={0} {1} cannot be installed because of conflicts

-update.conflictsWith={0} {1} cannot be installed because of conflicts with {2} {3}

-update.conflictsId=\   {0} version {1}

-update.unableToOpen=Unable to open file

-update.unableToWrite=Unable to write to file

-update.endOfLine=Unexpected end of line

-

-### Platform Configuration

-cfig.unableToLoad.incomplete=Unable to load {0}

-cfig.unableToLoad.noURL=Configuration file location not specified

-cfig.unableToSave.noURL=Configuration file save location not specified

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IActivity.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IActivity.java
deleted file mode 100644
index 1e1b60c..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IActivity.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.update.core;

-

-import java.util.Date;

-

-/*

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

- * All Rights Reserved.

- */

-

-public interface IActivity {

-	

-	public static final int ACTION_FEATURE_INSTALL 	= 1;

-	public static final int ACTION_FEATURE_REMOVE 	= 2;

-	public static final int ACTION_SITE_INSTALL 			= 3;

-	public static final int ACTION_SITE_REMOVE 			= 4;

-	public static final int ACTION_UNCONFIGURE 		= 5;

-	public static final int ACTION_CONFIGURE 				= 6;

-	

-	public static final int STATUS_OK 			= 0;

-	public static final int STATUS_NOK 		= 1;

-	public static final int STATUS_REVERT 	= 2;

-	

-	/**

-	 * Returns teh user description of teh action

-	 */

-	String getLabel();

-	

-	/**

-	 * Return the Action String for this activity

-	 */ 

-	int getAction();

-	

-	/**

-	 * Return the creation date of this activity

-	 */

-	Date getDate();

-	

-	/** 

-	 * return the status

-	 */

-	int getStatus();

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/ICategory.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/ICategory.java
deleted file mode 100644
index c072dc6..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/ICategory.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.update.core;

-/*

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

- * All Rights Reserved.

- */

-

-/**

- * a Category is used by the User Interface to categorize Features.

- * They are declared in the <code>site.xml</code> file of the Site.

- * The association between a Feature and a category is also done

- * In this file.

- * 

- * <p>

- * a Category name is of the form:

- * <code> ParentCategory1/ParentCategory2/Category </code>

- * where <code> ParentCategory1 </code> and <code> ParentCategory2 </code>

- * are defined Category.

- * </p>

- * 

- * <p>

- * The label of a category can be translated in the <code>site.properties</code>

- * file.

- * </p>

- * 

- * <p>

- * This interface is not intended to be implemented by clients.

- * </p>

- * 

- * @see DefaultCategory

- */

-

-

-public interface ICategory {

-	

-	/** 

-	 * The name or identifier of the category.

-	 * The identifier is of the form:

-	 * <code> ParentCategory1/ParentCategory2/Category </code>

-	 * where <code> ParentCategory1 </code> and <code> ParentCategory2 </code>

-	 * are defined Category.

-	 * 

-	 * @return the identifier of the category

-	 */

-	String getName();

-	

-	/**

-	 * returns the translated Label of this category.

-	 * @return the translated, user-friendly, name of the category.

-	 */

-	String getLabel();

-	

-	/** 

-	 * returns the description associated with the category

-	 * @return teh description of the category

-	 */

-	IInfo getDescription();

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IConfigurationPolicy.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IConfigurationPolicy.java
deleted file mode 100644
index 194f6eb..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IConfigurationPolicy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.update.core;

-

-import java.util.Date;

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

-

-/*

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

- * All Rights Reserved.

- */

-

-public interface IConfigurationPolicy {

-	/**

-	 * return the policy used

-	 * @see org.eclipse.core.boot.IPlatformConfiguration.ISitePolicy

-	 */

-	int getPolicy();

-	

-	/**

-	 * return the list of filtered features based on the policy (include/exclude list)

-	 * @see org.eclipse.core.boot.IPlatformConfiguration.ISitePolicy#getList()

-	 */

-	IFeatureReference[] getFilteredFeatures(IFeatureReference[] featuresToFilter);

-	

-	/**

-	 * Returns teh configured features for this Site based on the current policy

-	 */

-	IFeatureReference[] getConfiguredFeatures();

-

-	/**

-	 * Returns teh features that should not be configured for this Site based on the current policy

-	 */

-	IFeatureReference[] getUnconfiguredFeatures();

-	

-	/**

-	 * returns <code>true</code> if the feature is configured for this Site

-	 */

-	boolean isConfigured(IFeatureReference feature);

-

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IConfigurationSite.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IConfigurationSite.java
deleted file mode 100644
index fc676f9..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IConfigurationSite.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.update.core;

-

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

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

-

-

-

-/*

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

- * All Rights Reserved.

- */

- 

-/**

- * Interface defining the configuration of a site.

- * 

- * The SiteConfguration reflects the policy used on a site.

- * It also returns if you can write in this site or not

- */ 

-public interface IConfigurationSite {

-	

-	/**

-	 * Returns the Site 

-	 */

-	ISite getSite();

-	

-	/**

-	 * returns the policy for this configuration Site

-	 */

-	IConfigurationPolicy getConfigurationPolicy();

-	

-	/**

-	 * Sets a new policy. The configured features are recaculated

-	 */

-	void setConfigurationPolicy(IConfigurationPolicy policy);

-	

-	/**

-	 * Returns true if features can be installed in this Site

-	 */

-	boolean isInstallSite();

-	

-	/**

-	 * 

-	 * @param feature the Feature to install

-	 * @param installConfiguration the configuration to modify

-	 * @param monitor the Progress Monitor

-	 */

-	void install(IFeature feature, IProgressMonitor monitor) throws CoreException;

-	

-	/**

-	 * Configure the Feature to be available at next startup

-	 */

-	void configure(IFeatureReference feature) throws CoreException;

-	

-	/**

-	 * Unconfigure the feature from the execution path

-	 */

-	void unconfigure(IFeatureReference feature) throws CoreException;

-	

-	/**

-	 * sets if the site is an installable site

-	 */

-	void setInstallSite(boolean installable);

-	

-	/**

-	 * returns the feature used in this configurationSite

-	 * This is a subset of the feature of teh site

-	 */

-	IFeatureReference[] getConfiguredFeatures();

-	

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IDataEntry.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IDataEntry.java
deleted file mode 100644
index ba3e87f..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IDataEntry.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.update.core;

-

-/*

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

- * All Rights Reserved.

- */

- 

- /**

-  *  A pluginEntry is a handle to a plugin 

-  */

-public interface IDataEntry {

-	

-	/** 

-	 * Returns the identifier of this data entry

-	 * 

-	 * @return the identifier of the data entry

-	 */

-	String getIdentifier();

-	

-	/**

-	 * Returns the downloadSize

-	 * optional hint supplied by the feature

-	 *  packager, indicating the download size

-	 *  in KBytes of the referenced data archive.

-	 *  If not specified, the download size is not known 

-	 * @return Returns a int

-	 */

-	int getDownloadSize();

-

-

-	/**

-	 * Returns the installSize

-	 * optional hint supplied by the feature

-	 *  packager, indicating the install size in

-	 *  KBytes of the referenced data archive.

-	 *  If not specified, the install size is not known 	 * 

-	 * @return Returns a int

-	 */

-	int getInstallSize(); 

-	

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeature.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeature.java
deleted file mode 100644
index 77d5b6f..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeature.java
+++ /dev/null
@@ -1,280 +0,0 @@
-package org.eclipse.update.core;

-

-/*

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

- * All Rights Reserved.

- */

- 

-import java.net.URL;

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

- 

- /**

-  * Features define the packaging structure for a group 

-  * of related plug-ins, plug-in fragments, and optionally 

-  * non-plug-in files. 

-  * 

-  * <p>

-  * Features are treated purely as an installation and packaging construct. 

-  * They do not play a role during Eclipse plug-in execution. Features do not nest.

-  * They are simply an inclusive "manifest" of the plug-ins, fragments 

-  * and other files that make up that feature. If features are logically made 

-  * up of plug-ins from "sub-features", the top-level feature "manifest"

-  * must be fully resolved at packaging time.

-  * </p>

-  * 

-  */

- 

-public interface IFeature extends IPluginContainer {

-

-	/**

-	 * Returns the Identifier of this Feature.

-	 * The Identifier is not intended to be the key of the Feature.

-	 * the URL is the key of the feature.

-	 * @return the Identifier of this feature.

-	 * @see VersionedIdentifier

-	 */

-	VersionedIdentifier getIdentifier();

-	

-	/**

-	 * Returns the Site this Featur belongs to.

-	 * @return the site of this feature

-	 */

-	ISite getSite();

-	

-	/**

-	 * Returns the label of the feature.

-	 * The label is declared in the <code>feature.xml</code> file.

-	 * @return the label of the feature

-	 */

-	String getLabel();

-	

-	/**

-	 * Returns the URL that points at the Feature.

-	 * This URL is the unique identifier of the feature

-	 * within the site.

-	 * 

-	 * The URL is declared in the <code>feature.xml</code> file.	

-	 * The URL can be relative to the <codesite.xml</code> or absolute.

-	 * The Feature knows how to decipher the URL.

-	 * 

-	 * @return the URL identifying feature in the Site.

-	 */

-	URL getURL();

-	

-	/**

-	 * Returns the Update Information about the Feature.

-	 * The Info is usually a URL of a Site in which user 

-	 * can find new version of the feature.

-	 * 

-	 * The Update Information is composed of a URL and short label

-	 * for this URL.

-	 * 

-	 * The URL is declared in the <code>feature.xml</code> file.

-	 * 

-	 * @see IInfo

-	 * @return the IInfo that contains Update Information about this feature

-	 */

-	IInfo getUpdateInfo() ;

-	

-	/**

-	 * Return an array of info where the user can find other features

-	 * related to this features.

-	 * 

-	 * Each Discovery Information is composed of a URL and short label

-	 * for this URL.

-	 * 

-	 * The URLs are declared in the <code>feature.xml</code> file.

-	 *  

-	 * @see IInfo

-	 * @return a Array of discovery info.Returns an empty array

-	 * if there are no discovey info.

-	 */

-	IInfo [] getDiscoveryInfos() ;

-	

-	/**

-	 * Returns the provider of the feature

-	 * @return the provider of the feature

-	 */

-	String getProvider() ;

-	

-	/**

-	 * Returns the description of the Feature.

-	 * The description can be a short text and/or a

-	 * URL pointing to a file.

-	 * 

-	 * The URL can be absolute or relative to the 

-	 * <code> feature.xml. </code>

-	 * 

-	 * The description is declared in the <code>feature.xml</code> file.

-	 * 

-	 * @see IInfo

-	 * @return the description of this feature

-	 */

-	IInfo getDescription() ;

-	

-	/**

-	 * Returns the copyright of the Feature.

-	 * The copyright can be a short text and/or a

-	 * URL pointing to a file.

-	 * 

-	 * The URL can be absolute or relative to the 

-	 * <code> feature.xml. </code>

-	 * 

-	 * The copyright is declared in the <code>feature.xml</code> file.

-	 * 

-	 * @see IInfo

-	 * @return the copyright of this feature

-	 */

-	IInfo getCopyright() ;

-	

-	/**

-	 * Returns the license of the Feature.

-	 * The license can be a short text and/or a

-	 * URL pointing to a file.

-	 * 

-	 * The URL can be absolute or relative to the 

-	 * <code> feature.xml. </code>

-	 * 

-	 * The license is declared in the <code>feature.xml</code> file.

-	 * 

-	 * @see IInfo

-	 * @return the license of this feature

-	 */

-	IInfo getLicense() ;

-	

-	/**

-	 * Optional operating system specification.

-	 * A comma-separated list of os designators defined by Eclipse.

-	 * Indicates this feature should only be installed on one of the specified

-	 * os systems. If this attribute is not specified, the feature can be

-	 * installed on all systems (portable implementation).

-	 * 

-	 * This information is used as a hint by the installation and update

-	 * support (user can force installation of feature regardless of this setting).

-	 *

-	 * @see org.eclipse.core.boot.BootLoader 

-	 * @return the operating system specification.

-	 */

-	String getOS()  ;

-	

-	/**

-	 * Optional windowing system specification. 

-	 * A comma-separated list of ws designators defined by Eclipse.

-	 *  Indicates this feature should only be installed on one of the specified

-	 *  ws systems. If this attribute is not specified, the feature can be

-	 *  installed on all systems (portable implementation).

-	 * 

-	 * This information is used as a hint by the installation and update

-	 * support (user can force installation of feature regardless of this setting).

-	 * 

-	 * @see org.eclipse.core.boot.BootLoader 

-	 * @return the windowing system specification.

-	 */

-	String getWS()  ;

-	

-	/**

-	 * Optional locale specification. 

-	 * A comma-separated list of locale designators defined by Java.

-	 * Indicates this feature should only be installed on a system running

-	 * with a compatible locale (using Java locale-matching rules).

-	 * If this attribute is not specified, the feature can be installed 

-	 * on all systems (language-neutral implementation). 

-	 * 

-	 * This information is used as a hint by the installation and update

-	 *  support (user can force installation of feature regardless of this setting).

-	 * 

-	 * @return the locale specification.

-	 */

-	String getNL() ;

-	

-	/**

-	 * optional image to use when displaying information about the feature.

-	 * 

-	 * The URL is either absolute or relative to the <code>feature.xml</code> file.

-	 * 

-	 * @return the URL pointing to the image

-	 */

-	URL getImage() ;

-	

-	/**

-	 * List of plugin the feature require

-	 * to be installed in the site before it

-	 * can be installed

-	 * 

-	 * @return the list of required plug-ins. Returns an empty array

-	 * if there are no required.

-	 */

-	IImport[] getImports();

-	

-	/**

-	 * Returns <code> true </code> if the feature can

-	 * be added to the plugin-path of the workspace.

-	 */

-	// FIXME: javadoc	

-	boolean isExecutable();

-	

-	/**

-	 * Returns <code> true </code> if the feature can

-	 * be installed.

-	 */

-	// FIXME: javadoc

-	boolean isInstallable();

-

-

-	/**

-	 * Returns an array of archives identifier that compose the feature.

-	 * 

-	 * @return 

-	 * @deprecated seems nobody uses it

-	 */

-	// FIXME: javadoc	

-	String[] getArchives();

-	

-	/**

-	 * Returns an array of archives identifier that compose the feature.

-	 * 

-	 * @return 

-	 */

-	// FIXME: javadoc	

-	IDataEntry[] getDataEntries();

-	

-	/**

-	 * Adds a dataEntry to the list of managed dataEntry

-	 * 

-	 * @param entry the data entry

-	 */	

-	void addDataEntry(IDataEntry dataEntry);

-	

-	/**

-	 * returns the download size

-	 * of the feature to be installed on the site.

-	 * If the site is <code>null</code> returns the maximum size

-	 * 

-	 * If one plug-in entry has an unknown size.

-	 * then the download size is unknown and equal to <code>-1</code>

-	 * 

-	 */

-	long getDownloadSize(ISite site) throws CoreException;

-	

-	/**

-	 * returns the install size

-	 * of the feature to be installed on the site.

-	 * If the site is <code>null</code> returns the maximum size

-	 * 

-	 * If one plug-in entry has an unknown size.

-	 * then the install size is unknown and equal to <code>-1</code>.

-	 */

-	long getInstallSize(ISite site) throws CoreException;

-	

-	/**

-	 * optional identifier of the Eclipse application that is to be used during

-     * startup when the declaring feature is the primary feature.

-     *  The application identifier must represent a valid application registered

-     *  in the <code>org.eclipse.core.runtime.applications</code> extension point.

-     *  Default is <code>org.eclipse.ui.workbench</code>.

-     */

-	String getApplication();

-		

-}

-

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureReference.java
deleted file mode 100644
index 71da6c0..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureReference.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.update.core;

-

-/*

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

- * All Rights Reserved.

- */

- 

-import java.net.URL;

-

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

- 

- /**

-  *

-  * 

-  */

- 

-public interface IFeatureReference {

-	

-	

-	/**

-	 * Returns the URL that points at the Feature.

-	 * This URL is the unique identifier of the feature

-	 * within the site.

-	 * 

-	 * The URL is declared in the <code>feature.xml</code> file.	

-	 * 

-	 * @return the URL identifying feature in the Site.

-	 */

-	URL getURL();

-	

-	/**

-	 * Returns the array of categories the feature belong to.

-	 * 

-	 * The categories are declared in the <code>site.xml</code> file.

-	 * 

-	 * @see ICategory

-	 * @return the array of categories this feature belong to. Returns an empty array

-	 * if there are no cateopries.

-	 */

-	ICategory[] getCategories();

-

-	

-	/**

-	 * Returns the feature this reference points to

-	 *  @return teh feature on teh Site

-	 */

-	IFeature getFeature() throws CoreException;

-	

-	

-	/**

-	 * Adds the feature to the category

-	 */

-	void addCategory(ICategory category);

-	

-	

-}

-

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IImport.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IImport.java
deleted file mode 100644
index 9038474..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IImport.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.update.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-/**

- * an Import is a requirement on a plug-in with a matching rule

- */

-public interface IImport {

-

-	/**

-	 * Rules

-	 */

-	//	perfect | equivalent | compatible | greaterOrEqual

-	static final int RULE_NONE 							= 0;

-	static final int RULE_PERFECT						= 1;

-	static final int RULE_EQUIVALENT 				= 2;

-	static final int RULE_COMPATIBLE				= 3;

-	static final int RULE_GRATER_OR_EQUAL	= 4;

-	/** 

-	 * Returns the Identifier of the required plug-in.

-	 * 

-	 * @return the plug-in Identifier

-	 */

-	VersionedIdentifier getIdentifier();

-	

-	/**

-	 * Returns a atching rule

-	 * 

-	 * @return matching rule

-	 */

-	int getRule();

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInfo.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IInfo.java
deleted file mode 100644
index 35c26ed..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInfo.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.update.core;

-/*

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

- * All Rights Reserved.

- */

-import java.net.URL;

-

-/**

- * Interface for information objects that can have a short description as a text

- * and a long one in a URL.

- */

-public interface IInfo {

-	

-	/** 

-	 * Returns the short description of the Info object,

-	 * or the label of the associated URL.

-	 * 

-	 * The text is intended to be translated.

-	 * 

-	 * @return the short description

-	 */

-	String getText();

-	

-	/**

-	 * Returns a URL containing more information

-	 * 

-	 * @return the URL pointing to the longer description

-	 */

-	URL getURL();

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallConfiguration.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallConfiguration.java
deleted file mode 100644
index 345815c..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallConfiguration.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.update.core;

-

-import java.io.File;

-import java.net.URL;

-import java.util.Date;

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

-

-/*

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

- * All Rights Reserved.

- */

- 

-/**

- * Installation configuration object.

- */

-public interface IInstallConfiguration {

-		

-	/**

-	 * Returns <code>true</code> is this is the current configuration

-	 * 

-	 * @return boolean

-	 */

-	public boolean isCurrent();

-	

-	/**

-	 *  Change the 

-	 * 

-	 */

-	//FIXME : javadoc

-	void setCurrent(boolean isCurrent);

-	

-	

-	/**

-	 * Returns an array of local configuration sites that the sites

-	 * configured.

-	 * 

-	 * The sites can be pure link sites or install sites.

-	 * 

-	 *  The install sites

-	 * must be read-write accessible from the current client, otherwise

-	 * subsequent installation attampts will fail.

-	 * 

-	 * @return IConfigurationSite[] local install sites. Returns an empty array

-	 * if there are no local install sites

-	 */

-	public IConfigurationSite[] getConfigurationSites();

-	

-	/**

-	 * Adds an additional configuration site to this configuration.

-	 * 

-	 * @param site configuration site

-	 */

-	public void addConfigurationSite(IConfigurationSite site);

-	

-	/**

-	 * Removes a configuration site from this configuration.

-	 * 

-	 * @param site configuration site

-	 */

-	public void removeConfigurationSite(IConfigurationSite site);

-	

-	

-	void addInstallConfigurationChangedListener(IInstallConfigurationChangedListener listener);

-	void removeInstallConfigurationChangedListener(IInstallConfigurationChangedListener listener);

-	

-	/**

-	 * Export the configuration to a file

-	 */

-	void export(File exportFile) throws CoreException;

-	

-	/**

-	 * Returns the Activities that were performed to get this InstallConfiguration.

-	 * 

-	 * There is always at least one Activity

-	 * 

-	 * 

-	 */

-	IActivity[] getActivities();

-	

-	/**

-	 * retruns the Date at which the Configuration was created

-	 * The date is the local date from the machine that created the Configuration.

-	 */

-	Date getCreationDate();

-	

-	/**

-	 * returns the URL of where the configuration is declared

-	 * The URL points to teh exact XML file

-	 */

-	URL getURL();

-	

-	/**

-	 * returns the label of the configuration

-	 */

-	String getLabel();

-

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallConfigurationChangedListener.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallConfigurationChangedListener.java
deleted file mode 100644
index a5f4826..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallConfigurationChangedListener.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.eclipse.update.core;

-/*

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

- * All Rights Reserved.

- */

-

-public interface IInstallConfigurationChangedListener {

-	void installSiteAdded(IConfigurationSite site);

-	void installSiteRemoved(IConfigurationSite site);

-	void linkedSiteAdded(IConfigurationSite site);

-	void linkedSiteRemoved(IConfigurationSite site);

-}	

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallHandlerReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallHandlerReference.java
deleted file mode 100644
index 743088a..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallHandlerReference.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.update.core;

-

-import java.net.URL;

-

-/*

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

- * All Rights Reserved.

- */

-

-public interface IInstallHandlerReference {

-	

-	/**

-	 * optional URL used for browser-triggered

-	 *  installation handling. 

-	 */

-	URL getURL();

-	

-	/**

-	 * optional .jar library containing the install

-	 *  handler classes. If specified, the referenced .jar

-	 *  must be contained in the feature archive.

-	 *  It is specified as a path within the feature archive,

-	 *  relative to the feature.xml entry. If not specified,

-	 *  the feature archive itself is used to load the install

-	 *  handler classes. This attribute is only interpreted

-	 *  if class attribute is also specified 

-	 */

-	String getLibrary();

-	

-	/**

-	 * optional fully qualified name of a class implementing

-	 *  IInstallHandler. The class is dynamically loaded and

-	 *  called at specific points during feature processing.

-	 *  The handler has visibility to the API classes from the update plug-in,

-	 *  and Eclipse plug-ins required by the update plugin. 

-	 */

-	String getClass();

-

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/ILocalSite.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/ILocalSite.java
deleted file mode 100644
index f99d4b2..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/ILocalSite.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.update.core;

-

-import java.io.File;

-import java.net.URL;

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

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

-

-/*

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

- * All Rights Reserved.

- */

- 

-/**

- * Interface defining the behavior of a local site. Local site is

- * a reflection of a user installation configuration. It is a collection of

- * <ul>

- * <li>zero or more local installation directories. These can be used

- * as sites to locally install additional features

- * <li>zero or more linked installation directories. These are used

- * as sites to access additional features. In general they are read-only

- * <li>configuration information specifying which features are actually

- * configured for use on this local site (a subset of features found

- * on local installation sites and linked sites)

- * </ul>

- */ 

-public interface ILocalSite {

-	

-	

-	/**

-	 * return the label of the local site

-	 * 

-	 * @return teh label

-	 */

-	String getLabel();

-	

-

-	/**

-	 * Return the current configuration object.

-	 * This is the Configuration that will be saved.

-	 * 

-	 * @return IInstallConfiguration

-	 */	

-	IInstallConfiguration getCurrentConfiguration();

-	

-	/**

-	 * Returns an array of configuration objects representing the local

-	 * site change history. The current configuration is part of the history.

-	 * 

-	 * @return IInstallConfiguration[] configuration history. Returns

-	 * an empty array is there is no history

-	 */

-	IInstallConfiguration [] getConfigurationHistory();

-	

-	/**

-	 * Reverts the Current Configuration to an old configuration.

-	 * 

-	 * Creates a new configuration based on the old one

-	 * and calculate the delta between the old configuration and the current one

-	 * Then set the newly created configuration as the current one

-	 * 

-	 * @param IInstallConfiguration the configuration to use

-	 */

-	void revertTo(IInstallConfiguration configuration, IProgressMonitor monitor) throws CoreException;

-	

-	/**

-	 * Creates a configuration from a URL.

-	 * The configuration is not added to the LocalSite

-	 */

-	IInstallConfiguration importConfiguration(URL importURL,String label) throws CoreException;

-

-

-	/**

-	 * creates a new currentConfiguration based on the current configuration

-	 * The newly created configuration is NOT added to the local site

-	 * 

-	 * ILocalSite site = SiteManager.getLocalSite();

-	 * 

-	 * The following line creates a new current configuration in the local site

-	 * IInstallConfiguration currentConfig = site.createNewCurrentConfiguration(null,"new Label"); 

-	 * IConfigurationSite configSite = -obtain a configuration site from the InstallConfiguration-

-	 * configSite.install(IFeature,IProgressMonitor);

-	 * 

-	 * the following line saves the state of the configuration

-	 * currentConfig.save();

-	 * 

-	 * If <code>name</code> is <code>null</code> we'll create a name based on the creation date

-	 * if <code>newFile</code> is <code>null</code> we'll create a new file based on the creation date 

-	 */

-	IInstallConfiguration cloneCurrentConfiguration(URL newFile,String name) throws CoreException;

-

-	/**

-	 * Adds a new configuration to the LocalSite

-	 * The new configuration becomes the current one

-	 */

-	void addConfiguration(IInstallConfiguration config);

-	

-	/**

-	 * Saves and persists the localSite. Also saves and persists the current Configuration

-	 */

-	void save() throws CoreException;

-	

-	

-	void addLocalSiteChangedListener(ILocalSiteChangedListener listener);

-	void removeLocalSiteChangedListener(ILocalSiteChangedListener listener);

-

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/ILocalSiteChangedListener.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/ILocalSiteChangedListener.java
deleted file mode 100644
index a0ab0a7..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/ILocalSiteChangedListener.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.eclipse.update.core;

-/*

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

- * All Rights Reserved.

- */

-

-public interface ILocalSiteChangedListener {

-	void currentInstallConfigurationChanged(IInstallConfiguration configuration);

-	void installConfigurationRemoved(IInstallConfiguration configuration);

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IPluginContainer.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IPluginContainer.java
deleted file mode 100644
index 6fe9390..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IPluginContainer.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.eclipse.update.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.InputStream;

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

-

-/**

- * A PluginContainer manages plug-in archives.

- * A feature and a site are plugin container as they both

- * logically or physically manage the archives that contain

- * plug-ins.

- * 

- */

-//FIXME: javadoc

-

-public interface IPluginContainer {

-	/**

-	 * Returns an array of plug-ins managed by the container

-	 * 

-	 * @return the accessible plug-ins. Returns an empty array

-	 * if there are no plug-ins.

-	 */

-	IPluginEntry [] getPluginEntries()  ;

-	

-	/**

-	 * Returns the number of managed plug-ins

-	 * @return the number of plug-ins

-	 */

-	int getPluginEntryCount() ;

-	

-	/**

-	 * Size of the archives in Kilo-Bytes

-	 * @return the size of the archive to be downloaded

-	 */

-	int getDownloadSize(IPluginEntry entry) ;

-	

-	/**

-	 * Size of the plug-in in KiloBytes

-	 * @return the size of the plug-in when installed

-	 */

-	int getInstallSize(IPluginEntry entry) ;

-

-	/**

-	 * Adds a pluginEntry to the list of managed pluginEntry

-	 * 

-	 * @param entry the plugin entry

-	 */	

-	void addPluginEntry(IPluginEntry pluginEntry);

-	

-	/**

-	 * Create a file in a plugin 

-	 * 

-	 * @param entry the plugin entry

-	 * @param name the file to be created in the plugin

-	 * @param inStream the content of the remote file to be transfered in the new file

-	 */

-	void store(IPluginEntry entry, String name, InputStream inStream) throws CoreException;

-	

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IPluginEntry.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IPluginEntry.java
deleted file mode 100644
index 3bbee08..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IPluginEntry.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.eclipse.update.core;

-

-/*

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

- * All Rights Reserved.

- */

- 

- /**

-  *  A pluginEntry is a handle to a plugin 

-  */

-public interface IPluginEntry {

-	

-	/**

-	 * Returns <code>true</code> if the plugin is a fragment

-	 * @return true if handles a fragment

-	 */

-	boolean isFragment();

-	

-	/**

-	 * Returns the container fo this plugin

-	 * 

-	 * @see IPluginContainer

-	 * @return the plugin container

-	 */

-	IPluginContainer getContainer();

-	

-	/** 

-	 * Returns the identifier of this plugin entry

-	 * 

-	 * @return the identifier of the plugin entry

-	 */

-	VersionedIdentifier getIdentifier();

-	

-	/**

-	 * Optional operating system specification.

-	 * A comma-separated list of os designators defined by Eclipse.

-	 * Indicates this feature should only be installed on one of the specified

-	 * os systems. If this attribute is not specified, the feature can be

-	 * installed on all systems (portable implementation).

-	 * 

-	 * This information is used as a hint by the installation and update

-	 * support (user can force installation of feature regardless of this setting).

-	 *

-	 * @see org.eclipse.core.boot.BootLoader 

-	 * @return the operating system specification.

-	 */

-	String getOS();

-	

-	/**

-	 * Optional windowing system specification. 

-	 * A comma-separated list of ws designators defined by Eclipse.

-	 *  Indicates this feature should only be installed on one of the specified

-	 *  ws systems. If this attribute is not specified, the feature can be

-	 *  installed on all systems (portable implementation).

-	 * 

-	 * This information is used as a hint by the installation and update

-	 * support (user can force installation of feature regardless of this setting).

-	 * 

-	 * @see org.eclipse.core.boot.BootLoader 

-	 * @return the windowing system specification.

-	 */

-	String getWS();

-	

-	/**

-	 * Optional locale specification. 

-	 * A comma-separated list of locale designators defined by Java.

-	 * Indicates this feature should only be installed on a system running

-	 * with a compatible locale (using Java locale-matching rules).

-	 * If this attribute is not specified, the feature can be installed 

-	 * on all systems (language-neutral implementation). 

-	 * 

-	 * This information is used as a hint by the installation and update

-	 *  support (user can force installation of feature regardless of this setting).

-	 * 

-	 * @return the locale specification.

-	 */

-	String getNL();

-	

-	

-	/**

-	 * Returns the downloadSize

-	 * optional hint supplied by the feature

-	 *  packager, indicating the download size

-	 *  in KBytes of the referenced data archive.

-	 *  If not specified, the download size is not known 

-	 * @return Returns a int

-	 */

-	int getDownloadSize();

-

-

-	/**

-	 * Returns the installSize

-	 * optional hint supplied by the feature

-	 *  packager, indicating the install size in

-	 *  KBytes of the referenced data archive.

-	 *  If not specified, the install size is not known 

-	 * @return Returns a int

-	 */

-	int getInstallSize(); 

-	

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/ISite.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/ISite.java
deleted file mode 100644
index 9cb9d0b..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/ISite.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.update.core;

-

-/*

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

- * All Rights Reserved.

- */

-import java.io.InputStream;

-import java.net.URL;

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

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

-

-public interface ISite extends IPluginContainer {

-	

-	/**

-	 * Returns an array of feature this site contains

-	 * 

-	 * @return the list of features. Returns an empty array

-	 * if there are no feature.

-	 */

-	IFeatureReference [] getFeatureReferences() ;

-	

-	/**

-	 * Notify listener of installation of the feature

-	 * returns the newly created feature reference

-	 * @param feature the Feature to install

-	 * @param monitor the Progress Monitor

-	 */

-	IFeatureReference install(IFeature feature, IProgressMonitor monitor) throws CoreException;

-	

-	/**

-	 * 

-	 * @param feature the Feature to remove

-	 * @param monitor the Progress Monitor

-	 */

-	void remove(IFeature feature, IProgressMonitor monitor) throws CoreException;

-	

-	

-	void addSiteChangedListener(ISiteChangedListener listener);

-	void removeSiteChangedListener(ISiteChangedListener listener);

-

-	/**

-	 * 

-	 * @return teh URL of the site

-	 */

-	URL getURL() ;

-	

-	

-	URL getInfoURL();

-

-	/**

-	 * Returns an array of categories for this site

-	 * 

-	 * @return the list of categories. Returns an empty array

-	 * if there are no categories.

-	 */

-	ICategory[] getCategories()  ;

-

-	/**

-	 * Returns an array of archives this site contains

-	 * 

-	 * @return the list of archives. Returns an empty array

-	 * if there are no archive.

-	 */

-	IInfo[] getArchives();

-	

-	/**

-	 * Creates a new categoy within the Site

-	 * The validity of the Category is not checked

-	 */

-	void addCategory(ICategory category);

-	

-	/**

-	 * Saves the site in a persitent form

-	 */

-	void save() throws CoreException;

-	

-	

-	

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/ISiteChangedListener.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/ISiteChangedListener.java
deleted file mode 100644
index 012d34e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/ISiteChangedListener.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.eclipse.update.core;

-/*

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

- * All Rights Reserved.

- */

-public interface ISiteChangedListener {

-	void featureUpdated(IFeature feature);

-	void featureInstalled(IFeature feature);

-	void featureUninstalled(IFeature feature);

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/SiteManager.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/SiteManager.java
deleted file mode 100644
index 7eb3401..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/SiteManager.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.eclipse.update.core;

-

-/*

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

- * All Rights Reserved.

- */

- 

-import java.io.File;

-import java.io.IOException;

-import java.net.MalformedURLException;

-import java.net.URL;

-import org.eclipse.core.internal.plugins.ConfigurationProperty;

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

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

-

-public class SiteManager {

-	

-

-	private SiteManager() {

-		//  Blocking instance creation

-	}

-

-	/**

-	 * Returns the LocalSite i.e the different sites

-	 * the user has access to (either read only or read write)

-	 * 

-	 * @return the local site

-	 */	

-	public static ILocalSite getLocalSite() throws CoreException{

-		return InternalSiteManager.getLocalSite();

-	}

-	

-	/** 

-	 * Returns an site based on the protocol of the URL

-	 * 

-	 * If the Site has a different Type/Site Handler not known up to now,

-	 * it will be discovered when parsing the <code>site.xml</code> file.

-	 * 

-	 * If there is no XML file, and the site is on the file system, we will attempt to 

-	 * discover any feature or archives.

-	 * 

-	 * If a site doesn't exists, it will be created in memory. use <code>ISite.save()</code>

-	 * to persist the site.

-	 * 

-	 * The site is not created in the LocalSite.

-	 * 

-	 * @return the site which maps to this URL

-	 */	

-	public static ISite getSite(URL siteURL) throws CoreException {

-		return InternalSiteManager.getSite(siteURL);

-	}

-	

-	

-	/**

-	 * Returns a local temporary site where 

-	 * some feature may be temporary transfered before

-	 * being installed.

-	 * 

-	 * @return the temporary site

-	 */

-	public static ISite getTempSite() throws CoreException {

-		return InternalSiteManager.getTempSite();

-	}

-	

-

-	/** 

-	 * Resolves a URL to the local file System.

-	 * If the URL is already accessible through the file system 

-	 * (i.e the protocol is file) it returns itself

-	 * Otherwise, it copies the file of the URL to the TEMP

-	 * directory and return a file URL pointing to the file

-	 * in the TEMP directory

-	 * 

-	 * @param url teh URL to be resolve

-	 * @return the locally resolved URL

-	 * @throws IOException if the remote URL canot be found

-	 * @throws MalformedURLException if the local URL cannot be created

-	 * @throws CoreException	 if we cannot access the local TEMP directory

-	 */

-	public static URL resolveAsLocal(URL url) throws IOException, MalformedURLException, CoreException {

-		return UpdateManagerUtils.resolveAsLocal(url);

-	}

-	

-	/**

-	 * Creates a new site on the file system

-	 * This is the only Site we can create.

-	 * 

-	 * Does not add the Site to the LocalSite

-	 * 

-	 * @param siteLocation

-	 * @throws CoreException

-	 */

-	public static ISite createSite(File siteLocation) throws CoreException {

-		return InternalSiteManager.createSite(siteLocation);	

-	}

-	

-	/**

-	 * Creates a Configuration Site for an  ISite

-	 * The policy is from <code> org.eclipse.core.boot.IPlatformConfiguration</code>

-	 */

-	public static IConfigurationSite createConfigurationSite(ISite site,int policy){

-		return InternalSiteManager.createConfigurationSite(site,policy);

-	}

-	

-	/**

-	 * Creates a Configuration policy

-	 * The policy is from <code> org.eclipse.core.boot.IPlatformConfiguration</code>

-	 */

-	public static IConfigurationPolicy createConfigurationPolicy(int policy){

-		return InternalSiteManager.createConfigurationPolicy(policy);

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/Version.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/Version.java
deleted file mode 100644
index 75894d9..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/Version.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package org.eclipse.update.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.util.Vector;

-import java.util.StringTokenizer;

-

-/**

- * <p>

- * Version identifier. In its string representation, 

- * it consists of up to 3 integer numbers separated by decimal point.

- * For example, the following are valid version identifiers 

- * (as strings):

- * <ul>

- *   <li><code>0.0.0</code></li>

- *   <li><code>1.0.127564</code></li>

- *   <li><code>3.7.2</code></li>

- *   <li><code>1.9</code> (interpreted as <code>1.9.0</code>)</li>

- *   <li><code>3</code> (interpreted as <code>3.0.0</code>)</li>

- * </ul>

- * </p>

- * <p>

- * The version identifier can be decomposed into a major, minor

- * and service level component. A difference in the major 

- * component is interpreted as an incompatible version change. 

- * A difference in the minor (and not the major) component is 

- * interpreted as a compatible version change. The service

- * level component is interpreted as a cumulative 

- * and compatible service update of the minor version component.

- * </p>

- * <p>

- * Version identifiers can be matched for equality, equivalency,

- * and compatibility.

- * </p>

- * <p>

- * Clients may instantiate; not intended to be subclassed by clients.

- */	

-public final class Version {

-		

-	private	int major = 0;

-	private int minor = 0;

-	private int service = 0;

-	

-	private static final String	SEPARATOR = ".";

-/**

- * Creates a plug-in version identifier from its components.

- * 

- * @param major major component of the version identifier

- * @param minor minor component of the version identifier

- * @param service service update component of the version identifier

- */

-public Version(int major, int minor, int service) {

-

-	if(major<0) major=0;

-	if(minor<0) minor=0;

-	if(service<0) service=0;

-	

-	this.major = major;

-	this.minor = minor;

-	this.service = service;

-}

-

-public Version () {

-	this(null);

-}

-/**

- * Creates a plug-in version identifier from the given string.

- * The string represenation consists of up to 3 integer 

- * numbers separated by decimal point.

- * For example, the following are valid version identifiers 

- * (as strings):

- * <ul>

- *   <li><code>0.0.0</code></li>

- *   <li><code>1.0.127564</code></li>

- *   <li><code>3.7.2</code></li>

- *   <li><code>1.9</code> (interpreted as <code>1.9.0</code>)</li>

- *   <li><code>3</code> (interpreted as <code>3.0.0</code>)</li>

- * </ul>

- * </p>

- * 

- * @param versionId string representation of the version identifier

- */

-public Version(String versionId) {

-

-	try{

-		if( versionId == null )

-			versionId = "0.0.0";

-			

-		String s = versionId.trim();

-	

-		StringTokenizer st = new StringTokenizer(s, SEPARATOR);

-		Integer token;

-		Vector elements = new Vector(3);

-

-		while(st.hasMoreTokens()) {

-			token = new Integer((String)st.nextToken());

-			elements.addElement(token);

-		}

-

-		if (elements.size()>=1) this.major = ((Integer)elements.elementAt(0)).intValue();

-		if (elements.size()>=2) this.minor = ((Integer)elements.elementAt(1)).intValue();

-		if (elements.size()>=3) this.service = ((Integer)elements.elementAt(2)).intValue();

-		

-	} catch (Exception e) { // will use default version 0.0.0

-		this.major   = 0;

-		this.minor   = 0;

-		this.service = 0;

-	}

-

-}

-/**

- * Compare version identifiers for equality. Identifiers are

- * equal if all of their components are equal.

- *

- * @param object an object to compare

- * @return whehter or not the two objects are equal

- */

-public boolean equals(Object object) {

-	if (!(object instanceof Version))

-		return false;

-	Version v = (Version) object;

-	return v.getMajorComponent() == major && v.getMinorComponent() == minor && v.getServiceComponent() == service;

-}

-/**

- * Returns the major (incompatible) component of this 

- * version identifier.

- *

- * @return the major version

- */

-public int getMajorComponent() {

-	return major;

-}

-/**

- * Returns the minor (compatible) component of this 

- * version identifier.

- *

- * @return the minor version

- */

-public int getMinorComponent() {

-	return minor;

-}

-/**

- * Returns the service level component of this 

- * version identifier.

- *

- * @return the service level

- */

-public int getServiceComponent() {

-	return service;

-}

-

-/**

- * Compares two version identifiers for order using multi-decimal

- * comparison. 

- *

- * @param versionId the other version identifier

- * @return -1 if the other version id is smaller than this

- * version, 0 if it is equal and 1 if it is greater than

- * this version.

- */

-public int compare(Version id) {

-

-	if (id == null) {

-		if (major==0 && minor==0 && service==0) return -1;

-		else return 1;

-	}

-

-	if (major > id.getMajorComponent()) return 1;

-	if (major < id.getMajorComponent()) return -1;

-	if (minor > id.getMinorComponent()) return 1;

-	if (minor < id.getMinorComponent()) return -1;	

-	if (service > id.getServiceComponent()) return 1;

-	if (service < id.getServiceComponent()) return -1;

-	return 0;

-}

-/**

- * Returns the string representation of this version identifier. 

- * The result satisfies

- * <code>vi.equals(new PluginVersionIdentifier(vi.toString()))</code>.

- *

- * @return the string representation of this plug-in version identifier

- */

-public String toString() {

-	return major+SEPARATOR+minor+SEPARATOR+service;

-}

-}

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/VersionedIdentifier.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/VersionedIdentifier.java
deleted file mode 100644
index 6c45753..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/VersionedIdentifier.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Assert.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Assert.java
deleted file mode 100644
index 022e9a8..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Assert.java
+++ /dev/null
@@ -1,162 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

- 

-/**

- * <code>Assert</code> is useful for for embedding runtime sanity checks

- * in code. The static predicate methods all test a condition and throw some

- * type of unchecked exception if the condition does not hold.

- * <p>

- * Assertion failure exceptions, like most runtime exceptions, are

- * thrown when something is misbehaving. Assertion failures are invariably

- * unspecified behavior; consequently, clients should never rely on

- * these being thrown (or not thrown). <b>If you find yourself in the

- * position where you need to catch an assertion failure, you have most 

- * certainly written your program incorrectly.</b>

- * </p>

- */

-public final class Assert {

-	

-	/**

-	 * <code>AssertionFailedException</code> is a runtime exception thrown

-	 * by some of the methods in <code>Assert</code>.

-	 * <p>

-	 * This class is not declared public to prevent some misuses; programs that catch 

-	 * or otherwise depend on assertion failures are susceptible to unexpected

-	 * breakage when assertions in the code are added or removed.

-	 * </p>

-	 */

-	private static class AssertionFailedException extends RuntimeException {

-

-		/**

-		 * Constructs a new exception.

-		 */

-		public AssertionFailedException() {

-		}

-		

-		/**

-		 * Constructs a new exception with the given message.

-		 */

-		public AssertionFailedException(String detail) {

-		    super(detail);

-		}

-	}

-/* This class is not intended to be instantiated. */

-private Assert() {

-}

-/**

- * Asserts that an argument is legal. If the given boolean is

- * not <code>true</code>, an <code>IllegalArgumentException</code>

- * is thrown.

- *

- * @param expression the outcome of the check

- * @return <code>true</code> if the check passes (does not return

- *    if the check fails)

- * @exception IllegalArgumentException if the legality test failed

- */

-public static boolean isLegal(boolean expression) {

-	// succeed as quickly as possible

-	if (expression) {

-		return true;

-	}

-	return isLegal(expression, "");//$NON-NLS-1$

-}

-/**

- * Asserts that an argument is legal. If the given boolean is

- * not <code>true</code>, an <code>IllegalArgumentException</code>

- * is thrown.

- * The given message is included in that exception, to aid debugging.

- *

- * @param expression the outcome of the check

- * @param message the message to include in the exception

- * @return <code>true</code> if the check passes (does not return

- *    if the check fails)

- * @exception IllegalArgumentException if the legality test failed

- */

-public static boolean isLegal(boolean expression, String message) {

-	if (!expression)

-		throw new IllegalArgumentException(message);

-	return expression;

-}

-/**

- * Asserts that the given object is not <code>null</code>. If this

- * is not the case, some kind of unchecked exception is thrown.

- * <p>

- * As a general rule, parameters passed to API methods must not be

- * <code>null</code> unless <b>explicitly</b> allowed in the method's

- * specification. Similarly, results returned from API methods are never

- * <code>null</code> unless <b>explicitly</b> allowed in the method's

- * specification. Implementations are encouraged to make regular use of 

- * <code>Assert.isNotNull</code> to ensure that <code>null</code> 

- * parameters are detected as early as possible.

- * </p>

- * 

- * @param object the value to test

- * @exception Throwable an unspecified unchecked exception if the object

- *   is <code>null</code>

- */

-public static void isNotNull(Object object) {

-	// succeed as quickly as possible

-	if (object != null) {

-		return;

-	}

-	isNotNull(object, "");//$NON-NLS-1$

-}

-/**

- * Asserts that the given object is not <code>null</code>. If this

- * is not the case, some kind of unchecked exception is thrown.

- * The given message is included in that exception, to aid debugging.

- * <p>

- * As a general rule, parameters passed to API methods must not be

- * <code>null</code> unless <b>explicitly</b> allowed in the method's

- * specification. Similarly, results returned from API methods are never

- * <code>null</code> unless <b>explicitly</b> allowed in the method's

- * specification. Implementations are encouraged to make regular use of 

- * <code>Assert.isNotNull</code> to ensure that <code>null</code> 

- * parameters are detected as early as possible.

- * </p>

- * 

- * @param object the value to test

- * @param message the message to include in the exception

- * @exception Throwable an unspecified unchecked exception if the object

- *   is <code>null</code>

- */

-public static void isNotNull(Object object, String message) {

-	if (object == null)

-		throw new AssertionFailedException("null argument;" + message);//$NON-NLS-1$

-}

-/**

- * Asserts that the given boolean is <code>true</code>. If this

- * is not the case, some kind of unchecked exception is thrown.

- *

- * @param expression the outcome of the check

- * @return <code>true</code> if the check passes (does not return

- *    if the check fails)

- */

-public static boolean isTrue(boolean expression) {

-	// succeed as quickly as possible

-	if (expression) {

-		return true;

-	}

-	return isTrue(expression, "");//$NON-NLS-1$

-}

-/**

- * Asserts that the given boolean is <code>true</code>. If this

- * is not the case, some kind of unchecked exception is thrown.

- * The given message is included in that exception, to aid debugging.

- *

- * @param expression the outcome of the check

- * @param message the message to include in the exception

- * @return <code>true</code> if the check passes (does not return

- *    if the check fails)

- */

-public static boolean isTrue(boolean expression, String message) {

-	if (!expression)

-		throw new AssertionFailedException("assertion failed; "+message);//$NON-NLS-1$

-	return expression;

-}

-}

-

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Category.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Category.java
deleted file mode 100644
index 6fbbbc7..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Category.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.PrintWriter;

-import java.util.Comparator;

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

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

-

-/**

- * Default Implementation of ICategory

- */

-public class Category implements ICategory {

-	

-	private String name;

-	private String label;

-	private IInfo description;

-	private static Comparator comp;

-	

-	/**

-	 * Default Constructor

-	 */

-	public Category(){}

-

-

-	/**

-	 * Constructor

-	 */

-	public Category(String name, String label){

-		this.name = name;

-		this.label = label;

-	}

-

-	/**

-	 * @see ICategory#getName()

-	 */

-	public String getName() {

-		return name;

-	}

-

-

-	/**

-	 * @see ICategory#getLabel()

-	 */

-	public String getLabel() {

-		return label;

-	}

-

-

-	/**

-	 * Sets the name

-	 * @param name The name to set

-	 */

-	public void setName(String name) {

-		this.name = name;

-	}

-

-

-	/**

-	 * Sets the label

-	 * @param label The label to set

-	 */

-	public void setLabel(String label) {

-		this.label = label;

-	}

-

-

-	/*

-	 * @see Object#equals(Object)

-	 */

-	public boolean equals(Object obj) {

-		boolean result = false;

-		if (obj instanceof ICategory){

-			ICategory otherCategory = (ICategory)obj;

-			result = getName().equalsIgnoreCase(otherCategory.getName());

-		}

-		return result ;

-	}

-

-	/*

-	 * @see Object#hashCode()

-	 */

-	public int hashCode() {

-		return getName().hashCode();

-	}

-

-	/**

-	 * Gets the comp.

-	 * @return Returns a Comparator

-	 */

-	public static Comparator getComparator() {

-		if (comp==null){

-			comp = new Comparator(){

-				/*

-				 * @see Comparator#compare(Object,Object)

-				 * Returns 0 if versions are equal.

-				 * Returns -1 if object1 is after than object2.

-				 * Returns +1 if object1 is before than object2.

-				 */

-				 public int compare(Object o1, Object o2){

-				 	

-				 	ICategory cat1 = (ICategory)o1;

-				 	ICategory cat2 = (ICategory)o2;

-				 	

-				 	if (cat1.equals(cat2)) return 0;

-				 	return cat1.getName().compareTo(cat2.getName());

-				 } 

-			};

-		}

-		return comp;

-	}

-

-	/*

-	 * @see ICategory#getDescription()

-	 */

-	public IInfo getDescription() {

-		return description;

-	}

-

-	/**

-	 * Sets the description.

-	 * @param description The description to set

-	 */

-	public void setDescription(IInfo description) {

-		this.description = description;

-	}

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationActivity.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationActivity.java
deleted file mode 100644
index 90c5999..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationActivity.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

- 

-import java.io.PrintWriter;

-import java.util.Date;

-

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

-

-public class ConfigurationActivity implements IActivity, IWritable {

-	

-	private String label;

-	private int action;

-	private Date date;

-	private int status;

-	

-

-	/**

-	 * Constructor for ConfigurationActivity.

-	 */

-	public ConfigurationActivity(int action) {

-		super();

-		this.action = action;

-		this.status = STATUS_NOK; 

-	}

-

-	/*

-	 * @see IActivity#getAction()

-	 */

-	public int getAction() {

-		return action;

-	}

-

-	/*

-	 * @see IActivity#getDate()

-	 */

-	public Date getDate() {

-		return date;

-	}

-

-	/*

-	 * @see IActivity#getStatus()

-	 */

-	public int getStatus() {

-		return status;

-	}

-

-	/**

-	 * Sets the date.

-	 * @param date The date to set

-	 */

-	public void setDate(Date date) {

-		this.date = date;

-	}

-

-	/**

-	 * Sets the status.

-	 * @param status The status to set

-	 */

-	public void setStatus(int status) {

-		this.status = status;

-	}

-

-	/*

-	 * @see IActivity#getLabel()

-	 */

-	public String getLabel() {

-		return label;

-	}

-

-	/**

-	 * Sets the label.

-	 * @param label The label to set

-	 */

-	public void setLabel(String label) {

-		this.label = label;

-	}

-

-	/*

-	 * @see IWritable#write(int, PrintWriter)

-	 */

-	public void write(int indent, PrintWriter w) {

-		String gap = "";

-		for (int i = 0; i < indent; i++)

-			gap += " ";

-		String increment = "";

-		for (int i = 0; i < IWritable.INDENT; i++)

-			increment += " ";

-		

-		

-		w.print(gap + "<" + InstallConfigurationParser.ACTIVITY + " ");

-		w.println("action=\""+action+"\" ");

-		if (label!=null){

-			w.println(gap+"label=\""+Writer.xmlSafe(label)+"\" ");

-		}

-		w.println("date=\"" + date.getTime() + "\" ");

-		w.print("status=\""+status+"\"");

-		w.println(">");

-		w.println("");

-		

-		

-		// end

-		w.println(gap+"</"+InstallConfigurationParser.ACTIVITY+">");

-		

-		

-		

-	}

-

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java
deleted file mode 100644
index a6caf23..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.util.*;

-

-import org.eclipse.core.boot.IPlatformConfiguration;

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

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

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

-

-/**

- * 

- */

-public class ConfigurationPolicy implements IConfigurationPolicy {

-

-	private int policy;

-	private List configuredFeatureReferences;

-	private List unconfiguredFeatureReferences;

-

-	/**

-	 * Constructor for ConfigurationPolicy.

-	 */

-	public ConfigurationPolicy(int policy) {

-		super();

-		this.policy = policy;

-	}

-

-	/*

-	 * @see IConfigurationPolicy#getPolicy()

-	 */

-	public int getPolicy() {

-		return policy;

-	}

-

-	/*

-	 * @see IConfigurationPolicy#getFilteredFeatures(IFeatureReference[])

-	 */

-	public IFeatureReference[] getFilteredFeatures(IFeatureReference[] featuresToFilter) {

-

-		IFeatureReference[] result = new IFeatureReference[0];

-		if (configuredFeatureReferences != null && !configuredFeatureReferences.isEmpty()) {

-			result = new IFeatureReference[configuredFeatureReferences.size()];

-			configuredFeatureReferences.toArray(result);

-		}

-		return result;

-	}

-

-	/**

-	 * Adds a feature reference

-	 * is package because is called by the parser 

-	 * The parse just adds, without knowing if it is configured or not

-	 */

-	/*

-	 * @see IConfigurationSite#getConfiguredFeatures()

-	 */

-	public IFeatureReference[] getConfiguredFeatures() {

-		IFeatureReference[] result = new IFeatureReference[0];

-		if (configuredFeatureReferences!=null && !configuredFeatureReferences.isEmpty()){

-			result = new IFeatureReference[configuredFeatureReferences.size()];

-			configuredFeatureReferences.toArray(result);

-		}

-		return result;

-	}

-

-	/*

-	 * @see IConfigurationPolicy#getUnconfiguredFeatures()

-	 */

-	public IFeatureReference[] getUnconfiguredFeatures() {

-		IFeatureReference[] result = new IFeatureReference[0];

-		if (unconfiguredFeatureReferences!=null && !unconfiguredFeatureReferences.isEmpty()){

-			result = new IFeatureReference[unconfiguredFeatureReferences.size()];

-			unconfiguredFeatureReferences.toArray(result);

-		}

-		return result;

-

-	}

-

-	/*

-	 * @see IConfigurationSite#isConfigured(IFeatureReference)

-	 */

-	public boolean isConfigured(IFeatureReference feature) {

-		boolean result = false;

-

-				// return true if the feature is part of the configured list

-				Iterator iter = configuredFeatureReferences.iterator();

-				boolean found = false;

-				String featureURLString = feature.getURL().toExternalForm();

-				while (iter.hasNext() && !result) {

-					IFeatureReference element = (IFeatureReference) iter.next();

-					if (element.getURL().toExternalForm().trim().equalsIgnoreCase(featureURLString)) {

-						result = true;

-					}

-				}

-		return result;

-	}

-

-	/**

-	 * adds teh feature to teh list of features if the policy is USER_INCLUDE

-	 */

-	/*package*/

-	void configure(IFeatureReference feature) throws CoreException {

-		if (configuredFeatureReferences == null)

-			configuredFeatureReferences = new ArrayList(0);

-		configuredFeatureReferences.add(feature);

-		

-		// when user configure a feature,

-		// we have to remove it from unconfigured feature if it exists

-		// because the user doesn't know...

-		if (unconfiguredFeatureReferences != null){

-			remove(feature,unconfiguredFeatureReferences);

-		}

-	}

-

-	/**

-	 * adds teh feature to teh list of features if the policy is USER_EXCLUDE

-	 */

-	/*package*/

-	void unconfigure(IFeatureReference feature) throws CoreException {

-		if (unconfiguredFeatureReferences == null)

-			unconfiguredFeatureReferences = new ArrayList(0);

-		unconfiguredFeatureReferences.add(feature);

-		// an unconfigured feature is always from a configured one no ?

-		// unless it was parsed right ?

-		if (configuredFeatureReferences != null){

-			remove(feature,configuredFeatureReferences);

-		}

-		

-	}

-

-	/**

-	 * returns an array of string corresponding to plugin

-	 */

-	/*package*/

-	String[] getPlugins() throws CoreException {

-		String[] result = new String[0];

-		if (configuredFeatureReferences != null && !configuredFeatureReferences.isEmpty()) {

-			List pluginsString = new ArrayList(0);

-

-			Iterator iter = configuredFeatureReferences.iterator();

-			while (iter.hasNext()) {

-				IFeatureReference element = (IFeatureReference) iter.next();

-				IFeature feature = element.getFeature();

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

-				for (int index = 0; index < entries.length; index++) {

-					IPluginEntry entry = entries[index];

-					pluginsString.add(entry.getIdentifier().toString());

-				}

-			}

-

-			if (!pluginsString.isEmpty()) {

-				result = new String[pluginsString.size()];

-				pluginsString.toArray(result);

-			}

-

-		}

-		return result;

-	}

-	

-	private void remove(IFeatureReference feature, List list){

-		String featureURLString = feature.getURL().toExternalForm();

-		boolean found = false;

-		Iterator iter = list.iterator();

-		while (iter.hasNext() && !found) {

-			IFeatureReference element = (IFeatureReference) iter.next();

-				if (element.getURL().toExternalForm().trim().equalsIgnoreCase(featureURLString)) {

-					list.remove(element);

-					found = true;

-			}

-		}

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationSite.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationSite.java
deleted file mode 100644
index 5eaa401..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationSite.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.PrintWriter;

-import java.util.Date;

-

-import java.util.List;

-import java.util.*;

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

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

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

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

-

-/**

- * 

- */

-public class ConfigurationSite implements IConfigurationSite, IWritable {

-

-	private ISite site;

-	private IConfigurationPolicy policy;

-	private boolean installable = false;

-	private List configuredFeatures;

-

-	/**

-	 * Constructor

-	 */

-	public ConfigurationSite(ISite site, IConfigurationPolicy policy) {

-		this.site = site;

-		this.policy = policy;

-	}

-

-	/*

-	 * @see IConfigurationSite#getSite()

-	 */

-	public ISite getSite() {

-		return site;

-	}

-

-	/*

-	 * @see IConfigurationSite#getPolicy()

-	 */

-	public IConfigurationPolicy getConfigurationPolicy() {

-		return policy;

-	}

-

-	/*

-	 * @see IConfigurationSite#setPolicy(IConfigurationPolicy)

-	 */

-	public void setConfigurationPolicy(IConfigurationPolicy policy) {

-		this.policy = policy;

-	}

-

-	/*

-	 * @see IConfigurationSite#isInstallSite()

-	 */

-	public boolean isInstallSite() {

-		return installable;

-	}

-

-	/*

-	 * @see IConfigurationSite#setInstallSite(booelan)

-	 */

-	public void setInstallSite(boolean installable) {

-		this.installable = installable;

-	}

-

-	/*

-	 * @see IWritable#write(int, PrintWriter)

-	 */

-	public void write(int indent, PrintWriter w) {

-

-		String gap = "";

-		for (int i = 0; i < indent; i++)

-			gap += " ";

-		String increment = "";

-		for (int i = 0; i < IWritable.INDENT; i++)

-			increment += " ";

-

-		w.println(gap + "<" + InstallConfigurationParser.CONFIGURATION_SITE + " ");

-		w.println(gap + increment + "url=\"" + getSite().getURL().toExternalForm() + "\"");

-		w.println(gap + increment + "policy=\"" + getConfigurationPolicy().getPolicy() + "\" ");

-		String install = installable ? "true" : "false";

-		w.print(gap + increment + "install=\"" + install + "\" ");

-		w.println(">");

-		w.println("");

-

-		// configured features ref

-		IFeatureReference[] featuresReferences = getConfiguredFeatures();

-		if (featuresReferences != null) {

-			for (int index = 0; index < featuresReferences.length; index++) {

-				IFeatureReference element = featuresReferences[index];

-				w.print(gap + increment + "<" + InstallConfigurationParser.FEATURE + " ");

-				// configured = true

-				w.print("configured = \"true\" ");

-				// feature URL

-				String URLInfoString = null;

-				if (element.getURL() != null) {

-					ISite featureSite = ((FeatureReference) element).getSite();

-					URLInfoString = UpdateManagerUtils.getURLAsString(featureSite.getURL(), element.getURL());

-					w.print("url=\"" + Writer.xmlSafe(URLInfoString) + "\"");

-				}

-				w.println("/>");

-			}

-		}

-

-		// unconfigured features ref

-		featuresReferences = ((ConfigurationPolicy)getConfigurationPolicy()).getUnconfiguredFeatures();

-		if (featuresReferences != null) {

-			for (int index = 0; index < featuresReferences.length; index++) {

-				IFeatureReference element = featuresReferences[index];

-				w.print(gap + increment + "<" + InstallConfigurationParser.FEATURE + " ");

-				// configured = true

-				w.print("configured = \"false\" ");

-				// feature URL

-				String URLInfoString = null;

-				if (element.getURL() != null) {

-					ISite featureSite = ((FeatureReference) element).getSite();

-					URLInfoString = UpdateManagerUtils.getURLAsString(featureSite.getURL(), element.getURL());

-					w.print("url=\"" + Writer.xmlSafe(URLInfoString) + "\"");

-				}

-				w.println("/>");

-			}

-		}

-

-

-		// end

-		w.println(gap + "</" + InstallConfigurationParser.CONFIGURATION_SITE + ">");

-

-	}

-

-	/*

-	 * @see IConfigurationSite#install(IFeature, IProgressMonitor)

-	 */

-	public void install(IFeature feature, IProgressMonitor monitor) throws CoreException {

-		if (!installable) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.WARNING, id, IStatus.OK, "The site is not considered to be installable:" + site.getURL().toExternalForm(), null);

-			throw new CoreException(status);

-		}

-

-		//Start UOW ?

-		ConfigurationActivity activity = new ConfigurationActivity(IActivity.ACTION_FEATURE_INSTALL);

-		activity.setLabel(feature.getIdentifier().toString());

-		activity.setDate(new Date());

-

-		try {

-			IFeatureReference installedFeature = getSite().install(feature, monitor);

-			configure(installedFeature);

-

-			// everything done ok

-			activity.setStatus(IActivity.STATUS_OK);

-

-		} catch (CoreException e) {

-			activity.setStatus(IActivity.STATUS_NOK);

-			throw e;

-		} finally {

-			((InstallConfiguration) SiteManager.getLocalSite().getCurrentConfiguration()).addActivity(activity);

-		}

-

-	}

-

-	/*

-	 * @see IConfigurationSite#configure(IFeatureReference)

-	 */

-	public void configure(IFeatureReference feature) throws CoreException {

-		

-		//Start UOW ?

-		ConfigurationActivity activity = new ConfigurationActivity(IActivity.ACTION_CONFIGURE);

-		activity.setLabel(feature.getURL().toExternalForm());

-		activity.setDate(new Date());

-			

-		addFeatureReference(feature);

-		((ConfigurationPolicy)getConfigurationPolicy()).configure(feature);		

-

-		// everything done ok

-		activity.setStatus(IActivity.STATUS_OK);

-		((InstallConfiguration) SiteManager.getLocalSite().getCurrentConfiguration()).addActivity(activity);

-	}

-

-	/**

-	 * adds a feature in teh list

-	 * also used by the parser to avoid creating another activity

-	 */

-	void addFeatureReference(IFeatureReference feature) {

-		if (configuredFeatures==null) configuredFeatures = new ArrayList(0);

-		configuredFeatures.add(feature);

-	}

-

-	/*

-	 * @see IConfigurationSite#unconfigure(IFeatureReference)

-	 */

-	public void unconfigure(IFeatureReference feature) throws CoreException {

-		if (configuredFeatures!=null){

-			

-				//Start UOW ?

-			ConfigurationActivity activity = new ConfigurationActivity(IActivity.ACTION_UNCONFIGURE);

-			activity.setLabel(feature.getURL().toExternalForm());

-			activity.setDate(new Date());

-			configuredFeatures.remove(feature);

-			((ConfigurationPolicy)getConfigurationPolicy()).unconfigure(feature);

-

-			// everything done ok

-			activity.setStatus(IActivity.STATUS_OK);

-			((InstallConfiguration) SiteManager.getLocalSite().getCurrentConfiguration()).addActivity(activity);

-		}

-	}

-

-	/*

-	 * @see IConfigurationSite#getConfiguredFeatures()

-	 */

-	public IFeatureReference[] getConfiguredFeatures() {

-		IFeatureReference[] result = new IFeatureReference[0];

-		if (configuredFeatures!=null && !configuredFeatures.isEmpty()){

-			result = new IFeatureReference[configuredFeatures.size()];

-			configuredFeatures.toArray(result);

-		}

-		

-		return result;

-	}

-

-	/**

-	 * process the delta with the configuration site

-	 */

-	/*package*/

-	void deltaWith(IConfigurationSite currentConfiguration){

-		// we keep our configured feature

-		// we remove the unconfigured one

-		// but we process teh delat between what was configured in the current

-		// configuration that is not configured now

-		

-		//is it as simple as  get all configured, add configured

-		// the do teh delat and add to unconfigured

-		// what about history ? I have no idea about history...

-		

-		

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DataEntry.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DataEntry.java
deleted file mode 100644
index 13117f9..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DataEntry.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.update.internal.core;

-

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

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

-

-public class DataEntry implements IDataEntry {

-	

-	private String identifier;

-	private int downloadSize ;

-	private int installSize;

-	

-	/**

-	 * Constructor

-	 */

-	public DataEntry(String identifier) {

-		this.identifier = identifier;

-	}

-

-	/*

-	 * @see IDataEntry#getIdentifier()

-	 */

-	public String getIdentifier() {

-		return identifier;

-	}

-

-	/*

-	 * @see IDataEntry#getDownloadSize()

-	 */

-	public int getDownloadSize() {

-		return downloadSize;

-	}

-

-	/*

-	 * @see IDataEntry#getInstallSize()

-	 */

-	public int getInstallSize() {

-		return installSize;

-	}

-

-	/**

-	 * Sets the identifier.

-	 * @param identifier The identifier to set

-	 */

-	public void setIdentifier(String identifier) {

-		this.identifier = identifier;

-	}

-

-	/**

-	 * Sets the downloadSize.

-	 * @param downloadSize The downloadSize to set

-	 */

-	public void setDownloadSize(int downloadSize) {

-		this.downloadSize = downloadSize;

-	}

-

-	/**

-	 * Sets the installSize.

-	 * @param installSize The installSize to set

-	 */

-	public void setInstallSize(int installSize) {

-		this.installSize = installSize;

-	}

-

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DefaultImport.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DefaultImport.java
deleted file mode 100644
index 406b61a..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DefaultImport.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

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

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

-

-/**

- * Defaurl implementation of IImport

- */

-public class DefaultImport implements IImport {

-

-	/**

-	 * The identifer

-	 */

-	private VersionedIdentifier id;

-	

-	/**

-	 * the matching rule

-	 */

-	private int rule;

-

-	/**

-	 * Constructor for DefaultImport.

-	 */

-	public DefaultImport(VersionedIdentifier identifier, int rule) {

-		super();

-		this.id = identifier;

-		this.rule = rule;

-	}

-

-	/**

-	 * Constructor for DefaultImport.

-	 */

-	public DefaultImport(String id, String ver, int rule) {

-		this(new VersionedIdentifier(id,ver),rule);

-	}

-	/**

-	 * @see IImport#getIdentifier()

-	 */

-	public VersionedIdentifier getIdentifier() {

-		return id;

-	}

-

-	/**

-	 * @see IImport#getRule()

-	 */

-	public int getRule() {

-		return rule;

-	}

-

-	/**

-	 * Sets the id.

-	 * @param id The id to set

-	 */

-	public void setId(VersionedIdentifier id) {

-		this.id = id;

-	}

-

-	/**

-	 * Sets the rule.

-	 * @param rule The rule to set

-	 */

-	public void setRule(int rule) {

-		this.rule = rule;

-	}

-

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Feature.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Feature.java
deleted file mode 100644
index 50330c7..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Feature.java
+++ /dev/null
@@ -1,1001 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.*;

-import java.net.*;

-import java.util.*;

-

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

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

-import org.xml.sax.SAXException;

-/**

- * Abstract Class that implements most of the behavior of a feature

- * A feature ALWAYS belongs to an ISite

- */

-public abstract class Feature implements IFeature {

-

-	/**

-	 * 

-	 */

-	private static CoreException CANCEL_EXCEPTION;

-

-	/**

-	 * 

-	 */

-	public static final String FEATURE_FILE = "feature";

-

-	/**

-	 * 

-	 */

-	public static final String FEATURE_XML = FEATURE_FILE + ".xml";

-

-	/**

-	 * Identifier of the Feature

-	 */

-	private VersionedIdentifier versionIdentifier;

-

-	/**

-	 * Site in which teh feature resides

-	 */

-	private ISite site;

-

-	/**

-	 * User label fo the Feature

-	 */

-	private String label;

-

-	/**

-	 * reference to the feature inside the site.

-	 * This URL can be a Jar file, a directory or any URL that is understood by the 

-	 * Subclass of AbstractFeature.

-	 */

-	private URL url;

-

-	/**

-	 * Url and label of site where update of this feature can ve found

-	 */

-	private IInfo updateInfo;

-

-	/**

-	 * Url and label of site where other informations related to this feature can be found

-	 */

-	private List discoveryInfos;

-

-	/**

-	 * The primary application 

-	 */

-	private String application;

-

-	/**

-	 * provider of the Feature

-	 */

-	private String provider;

-

-	/**

-	 * Short description and url for long description of this feature

-	 */

-	private IInfo description;

-

-	/**	

-	 * Short copyright and url for long copyright of this feature

-	 */

-	private IInfo copyright;

-

-	/**

-	 * Short license and url for long license of this feature

-	 */

-	private IInfo license;

-

-	/**

-	 * Image (shoudl be either GIF or JPG)

-	 */

-	private URL image;

-

-	private String nl;

-	private String os;

-	private String ws;

-

-	/**

-	 * List of plugin entries teh feature contains

-	 * read from teh xml file

-	 */

-	private List pluginEntries;

-

-	/**

-	 * List of data entries the feature contains

-	 * read from the xml file

-	 */

-	private List dataEntries;

-

-	/**

-	 * List of plugin the feature require

-	 * to be installed in the site before this feature

-	 * can be installed

-	 */

-	private List requires;

-

-	/**

-	 * private internal

-	 * used for lazy instantiation and 

-	 * hydration with the XML file

-	 */

-	private boolean isInitialized = false;

-

-	/**

-	 * Static block to initialize the possible CANCEL ERROR

-	 * thrown when the USER cancels teh operation

-	 */

-	static {

-		//	in case we throw a cancel exception

-		String pluginId = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-		IStatus cancelStatus = new Status(IStatus.ERROR, pluginId, IStatus.OK, "Install has been Cancelled", null);

-		CANCEL_EXCEPTION = new CoreException(cancelStatus);

-	}

-

-	/**

-	 * Copy constructor

-	 */

-	public Feature(IFeature sourceFeature, ISite targetSite) throws CoreException {

-		// do not call other ctr as we do not want t parse XML file

-		this.site = targetSite;

-		this.url = sourceFeature.getURL();

-		this.versionIdentifier = sourceFeature.getIdentifier();

-		this.label = sourceFeature.getLabel();

-		this.updateInfo = sourceFeature.getUpdateInfo();

-		this.setDiscoveryInfos(sourceFeature.getDiscoveryInfos());

-		this.provider = sourceFeature.getProvider();

-		this.description = sourceFeature.getDescription();

-		this.copyright = sourceFeature.getCopyright();

-		this.license = sourceFeature.getLicense();

-		this.setPluginEntries(sourceFeature.getPluginEntries());

-		this.isInitialized = true;

-	}

-

-	/**

-	 * Constructor

-	 */

-	public Feature(URL url, ISite targetSite) throws CoreException {

-		this.site = targetSite;

-		this.url = url;

-		initializeFeature();

-	}

-

-	/**

-	 * @see IFeature#getIdentifier()

-	 */

-	public VersionedIdentifier getIdentifier() {

-		if (versionIdentifier == null && !isInitialized)

-			logNotInitialized();

-		return versionIdentifier;

-	}

-

-	/**

-	 * @see IFeature#getSite()

-	 * Do not hydrate, value set ins constructor

-	 */

-	public ISite getSite() {

-		return site;

-	}

-

-	/**

-	 * @see IFeature#getLabel()

-	 */

-	public String getLabel() {

-		if (label == null && !isInitialized)

-			logNotInitialized();

-		return label;

-	}

-

-	/**

-	 * @see IFeature#getURL()

-	 * Do not hydrate. Initialization will not populate the url.

-	 * If the URL is null, then the creation hasn't set the URL, so return null.

-	 * It has to be set at creation time or using the set method 

-	 * Usually done from the site when creating the Feature. 

-	 * 

-	 * The DefaultSiteParser is setting it at creation time

-	 */

-	public URL getURL() {

-		return url;

-	}

-

-	/**

-	 * @see IFeature#getRootURL()

-	 * In general, the Root URL is the URL of teh Feature

-	 * 

-	 * The RootURL is used to calculate relative URL for teh feature

-	 * In case of a file feature, you can just append teh relative path

-	 * to the URL of teh feature

-	 * 

-	 * In case of a JAR file, you cannot *just* append the file 

-	 * You have to transfrom the URL

-	 * 

-	 * Can be overriden 

-	 */

-	public URL getRootURL() throws MalformedURLException, IOException, CoreException {

-		return url;

-	}

-

-	/**

-	 * @see IFeature#getUpdateInfo()

-	 */

-	public IInfo getUpdateInfo() {

-		if (updateInfo == null && !isInitialized)

-			logNotInitialized();

-		return updateInfo;

-	}

-

-	/**

-	 * @see IFeature#getDiscoveryInfos()

-	 */

-	public IInfo[] getDiscoveryInfos() {

-		IInfo[] result = new IInfo[0];

-		if (discoveryInfos == null && !isInitialized)

-			logNotInitialized();

-		if (!(discoveryInfos == null || discoveryInfos.isEmpty())) {

-			result = new IInfo[discoveryInfos.size()];

-			discoveryInfos.toArray(result);

-		}

-		return result;

-	}

-

-	/*

-	 * @see IFeature#getApplication()

-	 */

-	public String getApplication() {

-		return application;

-	}

-

-	/**

-	 * @see IFeature#getProvider()

-	 */

-	public String getProvider() {

-		if (provider == null && !isInitialized)

-			logNotInitialized();

-		return provider;

-	}

-

-	/**

-	 * @see IFeature#getDescription()

-	 */

-	public IInfo getDescription() {

-		if (description == null && !isInitialized)

-			logNotInitialized();

-		return description;

-	}

-

-	/**

-	 * @see IFeature#getCopyright()

-	 */

-	public IInfo getCopyright() {

-		if (copyright == null && !isInitialized)

-			logNotInitialized();

-		return copyright;

-	}

-

-	/**

-	 * @see IFeature#getLicense()

-	 */

-	public IInfo getLicense() {

-		if (license == null && !isInitialized)

-			logNotInitialized();

-		return license;

-	}

-

-	/**

-	 * @see IFeature#getImage()

-	 */

-	public URL getImage() {

-		if (image == null && !isInitialized)

-			logNotInitialized();

-		return image;

-	}

-	/**

-	 * @see IFeature#getNL()

-	 */

-	public String getNL() {

-		if (nl == null && !isInitialized)

-			logNotInitialized();

-		return nl;

-	}

-

-	/**

-	 * @see IFeature#getOS()

-	 */

-	public String getOS() {

-		if (os == null && !isInitialized)

-			logNotInitialized();

-		return os;

-	}

-

-	/**

-	 * @see IFeature#getWS()

-	 */

-	public String getWS() {

-		if (ws == null && !isInitialized)

-			logNotInitialized();

-		return ws;

-	}

-

-	/**

-	 * Sets the site

-	 * @param site The site to set

-	 */

-	public void setSite(ISite site) {

-		this.site = site;

-	}

-

-	/**

-	 * Sets the identifier

-	 * @param identifier The identifier to set

-	 */

-	public void setIdentifier(VersionedIdentifier identifier) {

-		this.versionIdentifier = identifier;

-	}

-

-	/**

-	 * Sets the label

-	 * @param label The label to set

-	 */

-	public void setLabel(String label) {

-		this.label = label;

-	}

-

-	/**

-	 * Sets the url

-	 * @param url The url to set

-	 */

-	public void setURL(URL url) {

-		this.url = url;

-	}

-

-	/**

-	 * Sets the updateInfo

-	 * @param updateInfo The updateInfo to set

-	 */

-	public void setUpdateInfo(IInfo updateInfo) {

-		this.updateInfo = updateInfo;

-	}

-

-	/**

-	 * Sets the discoveryInfos

-	 * @param discoveryInfos The discoveryInfos to set

-	 */

-	public void setDiscoveryInfos(IInfo[] discoveryInfos) {

-		if (discoveryInfos != null) {

-			this.discoveryInfos = (new ArrayList());

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

-				this.discoveryInfos.add(discoveryInfos[i]);

-			}

-		}

-	}

-

-	/**

-	 * Adds a discoveryInfo

-	 * @param discoveryInfo The discoveryInfo to add

-	 */

-	public void addDiscoveryInfo(IInfo discoveryInfo) {

-		if (discoveryInfos == null)

-			discoveryInfos = new ArrayList(0);

-		discoveryInfos.add(discoveryInfo);

-	}

-

-	/**

-	 *  Sets the application

-	 * @param application the application to set

-	 */

-	public void setApplication(String application) {

-		this.application = application;

-	}

-

-	/**

-	 * Sets the provider

-	 * @param provider The provider to set

-	 */

-	public void setProvider(String provider) {

-		this.provider = provider;

-	}

-	/**

-	 * Sets the description

-	 * @param description The description to set

-	 */

-	public void setDescription(IInfo description) {

-		this.description = description;

-	}

-

-	/**

-	 * Sets the copyright

-	 * @param copyright The copyright to set

-	 */

-	public void setCopyright(IInfo copyright) {

-		this.copyright = copyright;

-	}

-

-	/**

-	 * Sets the license

-	 * @param license The license to set

-	 */

-	public void setLicense(IInfo license) {

-		this.license = license;

-	}

-

-	/**

-	 * Sets the image

-	 * @param image The image to set

-	 */

-	public void setImage(URL image) {

-		this.image = image;

-	}

-

-	/**

-	 * Sets the nl

-	 * @param nl The nl to set

-	 */

-	public void setNL(String nl) {

-		this.nl = nl;

-	}

-

-	/**

-	 * Sets the os

-	 * @param os The os to set

-	 */

-	public void setOS(String os) {

-		this.os = os;

-	}

-

-	/**

-	 * Sets the ws

-	 * @param ws The ws to set

-	 */

-	public void setWS(String ws) {

-		this.ws = ws;

-	}

-

-	/**

-	 * @see IPluginContainer#getDownloadSize(IPluginEntry)

-	 */

-	public int getDownloadSize(IPluginEntry entry) {

-		Assert.isTrue(entry instanceof PluginEntry);

-		return ((PluginEntry) entry).getDownloadSize();

-	}

-

-	/**

-	 * @see IPluginContainer#getInstallSize(IPluginEntry)

-	 */

-	public int getInstallSize(IPluginEntry entry) {

-		Assert.isTrue(entry instanceof PluginEntry);

-		return ((PluginEntry) entry).getInstallSize();

-	}

-	/**

-	 * returns the download size

-	 * of the feature to be installed on the site.

-	 * If the site is <code>null</code> returns the maximum size

-	 * 

-	 * If one plug-in entry has an unknown size.

-	 * then the download size is unknown.

-	 * 

-	 * @see IFeature#getDownloadSize(ISite)

-	 * 

-	 */

-	public long getDownloadSize(ISite site) throws CoreException {

-		int result = 0;

-		IPluginEntry[] entriesToInstall = this.getPluginEntries();

-		if (site != null) {

-			IPluginEntry[] siteEntries = site.getPluginEntries();

-			entriesToInstall = intersection(entriesToInstall, siteEntries);

-		}

-

-		if (entriesToInstall == null || entriesToInstall.length == 0) {

-			result = -1;

-		} else {

-			int pluginSize = 0;

-			int i = 0;

-			while (i < entriesToInstall.length && pluginSize != -1) {

-				pluginSize = getDownloadSize(entriesToInstall[i]);

-				result = pluginSize == -1 ? -1 : result + pluginSize;

-				i++;

-			}

-		}

-		return result;

-	}

-	/**

-	 * returns the install size

-	 * of the feature to be installed on the site.

-	 * If the site is <code>null</code> returns the maximum size

-	 * 

-	 * If one plug-in entry has an unknown size.

-	 * then the install size is unknown.

-	 * 

-	 * @see IFeature#getInstallSize(ISite)

-	 */

-	public long getInstallSize(ISite site) throws CoreException {

-		int result = 0;

-		IPluginEntry[] entriesToInstall = this.getPluginEntries();

-		if (site != null) {

-			IPluginEntry[] siteEntries = site.getPluginEntries();

-			entriesToInstall = intersection(entriesToInstall, siteEntries);

-		}

-		if (entriesToInstall == null || entriesToInstall.length == 0) {

-			result = -1;

-		} else {

-			int pluginSize = 0;

-			int i = 0;

-			while (i < entriesToInstall.length && pluginSize != -1) {

-				pluginSize = getInstallSize(entriesToInstall[i]);

-				result = pluginSize == -1 ? -1 : result + pluginSize;

-				i++;

-			}

-		}

-		return result;

-	}

-	/**

-	 * @see IFeature#isExecutable()

-	 */

-	public boolean isExecutable() {

-		return false;

-	}

-	/**

-	 * @see IFeature#isInstallable()

-	 */

-	public boolean isInstallable() {

-		return false;

-	}

-

-	/**

-	 * Method install.

-	 * @param targetFeature

-	 * @param monitor

-	 * @throws CoreException

-	 */

-	public void install(IFeature targetFeature, IProgressMonitor monitor) throws CoreException {

-

-		IPluginEntry[] sourceFeaturePluginEntries = getPluginEntries();

-		IPluginEntry[] targetSitePluginEntries = targetFeature.getSite().getPluginEntries();

-		Site tempSite = (Site) SiteManager.getTempSite();

-

-		// determine list of plugins to install

-		// find the intersection between the two arrays of IPluginEntry...

-		// The one teh site contains and teh one the feature contains

-		IPluginEntry[] pluginsToInstall = intersection(sourceFeaturePluginEntries, targetSitePluginEntries);

-

-		// private abstract - Determine list of content references id /archives id /bundles id that 

-		// map the list of plugins to install

-		String[] archiveIDToInstall = getContentReferenceToInstall(pluginsToInstall);

-

-	try {

-			// download and install data bundles

-			// before we set the site of teh feature to the TEMP site

-			IDataEntry[] dataEntries = getDataEntries();

-			if (dataEntries.length > 0) {

-				downloadDataLocally(targetFeature, dataEntries, monitor);

-			}

-		

-			// optmization, may be private to implementation

-			// copy *blobs/content references/archives/bundles* in TEMP space

-			if (((Site) getSite()).optimize()) {

-				if (archiveIDToInstall != null) {

-					downloadArchivesLocally(tempSite, archiveIDToInstall, monitor);

-				}

-			}

-

-			// obtain the list of *Streamable Storage Unit*

-			// from the archive

-			if (monitor != null) {

-				int total = pluginsToInstall == null ? 1 : pluginsToInstall.length + 1;

-				monitor.beginTask("Install feature " + getLabel(), total);

-			}

-			if (pluginsToInstall != null) {

-				InputStream inStream = null;

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

-					if (monitor != null) {

-						monitor.subTask("Installing plug-in: " + pluginsToInstall[i]);

-						if (monitor.isCanceled()) {

-							throw CANCEL_EXCEPTION;

-						}

-					}

-

-					open(pluginsToInstall[i]);

-					String[] names = getStorageUnitNames(pluginsToInstall[i]);

-					if (names != null) {

-						for (int j = 0; j < names.length; j++) {

-							if ((inStream = getInputStreamFor(pluginsToInstall[i], names[j])) != null)

-								targetFeature.store(pluginsToInstall[i], names[j], inStream);

-						}

-					}

-					close(pluginsToInstall[i]);

-					if (monitor != null) {

-						monitor.worked(1);

-						if (monitor.isCanceled()) {

-							throw CANCEL_EXCEPTION;

-						}

-					}

-

-				}

-			}

-

-			// install the Feature info

-			InputStream inStream = null;

-			String[] names = getStorageUnitNames();

-			if (names != null) {

-				openFeature();

-				if (monitor != null) {

-					monitor.subTask("Installing Feature information");

-					if (monitor.isCanceled()) {

-						throw CANCEL_EXCEPTION;

-					}

-				}

-

-				for (int j = 0; j < names.length; j++) {

-					if ((inStream = getInputStreamFor(names[j])) != null)

-						 ((Site) targetFeature.getSite()).storeFeatureInfo(getIdentifier(), names[j], inStream);

-				}

-				closeFeature();

-				if (monitor != null) {

-					monitor.worked(1);

-					if (monitor.isCanceled()) {

-						throw CANCEL_EXCEPTION;

-					}

-				}

-

-			}

-

-		} catch (IOException e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error during Install", e);

-			throw new CoreException(status);

-		} finally {

-			// clean up TEMP drive

-			String path = UpdateManagerUtils.getPath(tempSite.getURL());

-			UpdateManagerUtils.removeFromFileSystem(new File(path));

-		}

-	}

-

-	/** 

-	 * initialize teh feature by reading the feature.xml if it exists

-	 */

-	public void initializeFeature() throws CoreException {

-		if (!isInitialized) {

-			isInitialized = true;

-			InputStream featureStream = null;

-			try {

-				featureStream = getInputStreamFor(FEATURE_XML);

-				new FeatureParser(featureStream, this);

-			} catch (IOException e) {

-				// if we cannot find the feature and or the feature.xml...

-				// We should not stop the execution 

-				// but we must Log it all the time, not only when debugging...

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.WARNING, id, IStatus.OK, "Error opening feature.xml in the feature archive:" + url.toExternalForm(), e);

-				UpdateManagerPlugin.getPlugin().getLog().log(status);

-			} catch (SAXException e) {

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.WARNING, id, IStatus.OK, "Error parsing feature.xml in the feature archive:" + url.toExternalForm(), e);

-				throw new CoreException(status);

-			} finally {

-				try {

-					featureStream.close();

-				} catch (Exception e) {

-				}

-				try {

-					closeFeature();

-				} catch (Exception e) {

-				}

-			}

-		}

-	}

-

-	/**

-	 */

-	private void downloadArchivesLocally(ISite tempSite, String[] archiveIDToInstall, IProgressMonitor monitor) throws CoreException, IOException {

-

-		URL sourceURL;

-		String newFile;

-		URL newURL;

-

-		if (monitor != null) {

-			monitor.beginTask("Download archives bundles to Temporary Space", archiveIDToInstall.length);

-		}

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

-

-			// transform the id by asking the site to map them to real URL inside the SITE	

-			sourceURL = ((Site) getSite()).getURL(archiveIDToInstall[i]);

-			if (monitor != null) {

-				monitor.subTask("..." + archiveIDToInstall[i]);

-			}

-			// the name of the file in the temp directory

-			// should be the regular plugins/pluginID_ver as the Temp site is OUR site

-			newFile = Site.DEFAULT_PLUGIN_PATH + archiveIDToInstall[i];

-			newURL = UpdateManagerUtils.resolveAsLocal(sourceURL, newFile, monitor);

-

-			// transfer the possible mapping to the temp site						

-			 ((Site) tempSite).addArchive(new Info(archiveIDToInstall[i], newURL));

-			if (monitor != null) {

-				monitor.worked(1);

-				if (monitor.isCanceled()) {

-					throw CANCEL_EXCEPTION;

-				}

-			}

-		}

-

-		// the site of this feature now becomes the TEMP directory

-		// FIXME: make sure there is no other issue

-		// like asking for stuff that hasn't been copied

-		// or reusing this feature

-		// of having an un-manageable temp site

-

-		this.setSite(tempSite);

-

-	}

-

-	/**

-	 */

-	private void downloadDataLocally(IFeature targetFeature, IDataEntry[] dataToInstall, IProgressMonitor monitor) throws CoreException, IOException {

-

-		URL sourceURL;

-		// any other data

-		InputStream inStream = null;

-		IDataEntry[] entries = getDataEntries();

-		if (entries != null) {

-			if (monitor != null) {

-				monitor.beginTask("Installing Other Data information", dataToInstall.length);

-				if (monitor.isCanceled()) {

-					throw CANCEL_EXCEPTION;

-				}

-			}

-

-			for (int j = 0; j < entries.length; j++) {

-				String name = dataToInstall[j].getIdentifier();

-				if (monitor != null) {

-					monitor.subTask("..." + name);

-				}

-

-				// the id is URL format with "/"

-				String dataEntryId = Site.DEFAULT_FEATURE_PATH + getIdentifier().toString() + "/" + name;

-				// transform the id by asking the site to map them to real URL inside the SITE	

-				sourceURL = ((Site) getSite()).getURL(dataEntryId);

-				((Site) targetFeature.getSite()).storeFeatureInfo(getIdentifier(), name, sourceURL.openStream());

-				if (monitor != null) {

-					monitor.worked(1);

-					if (monitor.isCanceled()) {

-						throw CANCEL_EXCEPTION;

-					}

-				}

-			}

-

-		}

-	}

-

-		/**

-		 * Logs that an attempt to read a non initialize variable has been made

-		 */

-		private void logNotInitialized() {

-			Exception trace = new Exception("Attempt to read uninitialized variable");

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.WARNING, id, IStatus.OK, "the program is reading a variable of Feature before loading it", trace);

-			UpdateManagerPlugin.getPlugin().getLog().log(status);

-		}

-

-		/**

-		 * Returns the intersection between two array of PluginEntries.

-		 */

-		private IPluginEntry[] intersection(IPluginEntry[] array1, IPluginEntry[] array2) {

-			if (array1 == null || array1.length == 0) {

-				return array2;

-			}

-			if (array2 == null || array2.length == 0) {

-				return array1;

-			}

-

-			List list1 = Arrays.asList(array1);

-			List result = new ArrayList(0);

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

-				if (!list1.contains(array2[i]))

-					result.add(array2[i]);

-			}

-			return (IPluginEntry[]) result.toArray();

-		}

-

-		/**

-		 * @see IPluginContainer#getPluginEntries()

-		 */

-		public IPluginEntry[] getPluginEntries() {

-			IPluginEntry[] result = new IPluginEntry[0];

-			if (pluginEntries == null && !isInitialized)

-				logNotInitialized();

-			if (!(pluginEntries == null || pluginEntries.isEmpty())) {

-				result = new IPluginEntry[pluginEntries.size()];

-				pluginEntries.toArray(result);

-			}

-			return result;

-		}

-

-		/**

-		 * @see IFeature#getDataEntries()

-		 */

-		public IDataEntry[] getDataEntries() {

-			IDataEntry[] result = new IDataEntry[0];

-			if (dataEntries == null && !isInitialized)

-				logNotInitialized();

-			if (!(dataEntries == null || dataEntries.isEmpty())) {

-				result = new IDataEntry[dataEntries.size()];

-				dataEntries.toArray(result);

-			}

-			return result;

-		}

-

-		/**

-		 * @see IPluginContainer#getPluginEntryCount()

-		 */

-		public int getPluginEntryCount() {

-			return getPluginEntries().length;

-		}

-

-		/**

-		 * @see IFeature#getImports()

-		 */

-		public IImport[] getImports() {

-			IImport[] result = new IImport[0];

-			if (!(requires == null || requires.isEmpty())) {

-				result = new IImport[requires.size()];

-				requires.toArray(result);

-			}

-			return result;

-		}

-

-		/**

-		 * 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 the import

-		 * @param imports The imports to set

-		 */

-		public void setImports(IImport[] imports) {

-			if (imports != null) {

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

-					addImport(imports[i]);

-				}

-			}

-		}

-

-		/**

-		 * @see IPluginContainer#addPluginEntry(IPluginEntry)

-		 */

-		public void addPluginEntry(IPluginEntry pluginEntry) {

-			if (pluginEntries == null)

-				pluginEntries = new ArrayList(0);

-			pluginEntries.add(pluginEntry);

-		}

-

-		/**

-		 * @see IFeature#addDataEntry(IDataEntry)

-		 */

-		public void addDataEntry(IDataEntry dataEntry) {

-			if (dataEntries == null)

-				dataEntries = new ArrayList(0);

-			dataEntries.add(dataEntry);

-		}

-

-		/**

-		 * Adds an import

-		 * @param anImport The import to add

-		 */

-		public void addImport(IImport anImport) {

-			if (this.requires == null)

-				this.requires = new ArrayList(0);

-			this.requires.add(anImport);

-		}

-

-		/**

-		 * @see IPluginContainer#store(IPluginEntry, String, InputStream)

-		 */

-		public void store(IPluginEntry pluginEntry, String contentKey, InputStream inStream) throws CoreException {

-			// check if pluginEntry already exists before passing to the site

-			// anything else ?

-			boolean found = false;

-			int i = 0;

-			IPluginEntry[] entries = getPluginEntries();

-			while (i < entries.length && !found) {

-				if (entries[i].equals(pluginEntry)) {

-					found = true;

-				}

-				i++;

-			}

-			if (!found) {

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "The plugin:" + pluginEntry.getIdentifier().toString() + " is not part of the plugins of the feature:" + this.getIdentifier().toString(), null);

-				throw new CoreException(status);

-			}

-			getSite().store(pluginEntry, contentKey, inStream);

-		}

-

-		/**

-		 * perform pre processing before opening a plugin archive

-		 * @param entry the plugin about to be opened

-		 */

-		protected void open(IPluginEntry entry) {

-		};

-

-		/**

-		 * perform post processing to close a plugin archive

-		 * @param entry the plugin about to be closed

-		 */

-		protected void close(IPluginEntry entry) throws IOException {

-		};

-

-		/**

-		 * perform pre processing before opening the feature archive

-		 */

-		protected void openFeature() {

-		};

-

-		/**

-		 * perform post processing to close a feature archive

-		 */

-		public void closeFeature() throws IOException {

-		};

-

-		/**

-		 * return the appropriate resource bundle for this feature

-		 */

-		public ResourceBundle getResourceBundle() throws IOException, CoreException {

-			ResourceBundle bundle = null;

-			try {

-				ClassLoader l = new URLClassLoader(new URL[] { this.getURL()}, null);

-				bundle = ResourceBundle.getBundle(FEATURE_FILE, Locale.getDefault(), l);

-			} catch (MissingResourceException e) {

-				//ok, there is no bundle, keep it as null

-				//DEBUG:

-				if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {

-					UpdateManagerPlugin.getPlugin().debug(e.getLocalizedMessage() + ":" + this.getURL().toExternalForm());

-				}

-			}

-			return bundle;

-		}

-

-		/**

-		 * @see IFeature#getArchives()

-		 * Private implementation of the feature. return the list of ID.

-		 * Call the site with the ID to get the URL of the contentReference of the Site

-		 */

-		public abstract String[] getArchives();

-

-		/**

-		 * return the list of FILE to be transfered for a Plugin

-		 */

-		protected abstract String[] getStorageUnitNames(IPluginEntry pluginEntry) throws CoreException;

-

-		/**

-		 * return the list of FILE to be transfered from within the Feature

-		 */

-		protected abstract String[] getStorageUnitNames() throws CoreException;

-

-		/**

-		 * return the Stream of the FILE to be transfered for a Plugin

-		 */

-		protected abstract InputStream getInputStreamFor(IPluginEntry pluginEntry, String name) throws CoreException;

-

-		/**

-		 * return the Stream of FILE to be transfered from within the Feature

-		 */

-		protected abstract InputStream getInputStreamFor(String name) throws IOException, CoreException;

-

-		/**

-		 * returns the list of archive to transfer/install

-		 * in order to install the list of plugins

-		 * 

-		 * @param pluginsToInstall list of plugin to install 

-		 */

-		protected abstract String[] getContentReferenceToInstall(IPluginEntry[] pluginsToInstall);

-

-	}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutable.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutable.java
deleted file mode 100644
index 51d3ab7..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutable.java
+++ /dev/null
@@ -1,248 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.*;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import java.util.ArrayList;

-import java.util.Arrays;

-import java.util.Iterator;

-import java.util.List;

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

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

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

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

-

-/**

- * Default implementation of an Executable Feature

- */

-

-public class FeatureExecutable extends Feature {

-

-	/**

-	 * URL of the feature, used to create other URLs

-	 */

-	private URL rootURL;

-

-	/**

-	 * Constructor for DefaultExecutableFeature

-	 */

-	public FeatureExecutable(IFeature sourceFeature, ISite targetSite) throws CoreException {

-		super(sourceFeature, targetSite);

-	}

-

-	/**

-	 * Constructor for DefaultExecutableFeature

-	 */

-	public FeatureExecutable(URL url, ISite targetSite) throws CoreException {

-		super(url, targetSite);

-	}

-

-	/**

-	 * @see AbstractFeature#getContentReferenceToInstall(IPluginEntry[])

-	 */

-	public String[] getContentReferenceToInstall(IPluginEntry[] pluginsToInstall) {

-		String[] names = null;

-		if (pluginsToInstall != null) {

-			names = new String[pluginsToInstall.length];

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

-				names[i] = getArchiveID(pluginsToInstall[i]);

-			}

-		}

-		return names;

-	}

-

-	/**

-	 * @see AbstractFeature#getInputStreamFor(IPluginEntry,String)

-	 */

-	public InputStream getInputStreamFor(IPluginEntry pluginEntry, String name) throws CoreException {

-		

-		InputStream result = null;

-

-		try {

-			File entry = new File(getPath(pluginEntry), name);

-			result = new FileInputStream(entry);

-			

-		} catch (Exception e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error during retrieving the Stream of :" + name + " in plugin:" + pluginEntry.getIdentifier().toString(), e);

-			throw new CoreException(status);

-		}

-		return result;

-	}

-

-	/**

-	 * @see AbstractFeature#getStorageUnitNames(IPluginEntry)

-	 */

-	public String[] getStorageUnitNames(IPluginEntry pluginEntry) throws CoreException {

-		

-		String[] result = new String[0];

-		

-		try {

-			// return the list of all subdirectories

-			File pluginDir = new File(getPath(pluginEntry));			

-			List files = getFileNames(pluginDir);

-			result = new String[files.size()];

-			files.toArray(result);

-			

-		} catch (Exception e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error retrieving archive names for:" + pluginEntry.getIdentifier().toString(), e);

-			throw new CoreException(status);

-		}

-		return result;

-	}

-

-	/**

-	 * return the path for a pluginEntry

-	 */

-	private String getPath(IPluginEntry pluginEntry) throws Exception {

-		URL siteURL = getSite().getURL();

-		String result = null;

-				

- 		// get the URL of the Archive file that contains the plugin entry

-		URL fileURL = ((Site) getSite()).getURL(getArchiveID(pluginEntry));

-		result = UpdateManagerUtils.getPath(fileURL);		

-

-		// return the list of all subdirectories

-		if (!result.endsWith(File.separator)) result += File.separator;		

-		File pluginDir = new File(result);			

-		if (!pluginDir.exists())

-			throw new IOException("The File:" + result + "does not exist.");

-			

- 		return result;

-	}

-

-	/**

-	 * return the path for the Feature

-	 */

-	private String getFeaturePath() throws IOException {

-		String result = UpdateManagerUtils.getPath(getURL());;		

-

-		// return the list of all subdirectories

-		if (!(result.endsWith(File.separator) || result.endsWith("/"))) result += File.separator;		

-		File pluginDir = new File(result);			

-		if (!pluginDir.exists())

-			throw new IOException("The File:" + result + "does not exist.");

-			

- 		return result;

-	}

-

-	/**

-	 * @see AbstractFeature#getArchives()

-	 */

-	public String[] getArchives() {

-		String[] names = new String[getPluginEntryCount()];

-		IPluginEntry[] entries = getPluginEntries();

-		for (int i = 0; i < getPluginEntryCount(); i++) {

-			names[i] = getArchiveID(entries[i]);

-		}

-		return names;

-	}

-

-	/**

-	 * @see AbstractFeature#isExecutable()

-	 */

-	public boolean isExecutable() {

-		return true;

-	}

-

-	/**

-	 * @see IFeature#getRootURL()

-	 * Make sure the rotURL ends with '/' as it shoudl be a directory

-	 */

-	public URL getRootURL() throws MalformedURLException {

-		if (rootURL == null) {

-			rootURL = getURL();

-			if (!rootURL.getFile().endsWith("/")) {

-				rootURL = new URL(rootURL.getProtocol(), rootURL.getHost(), rootURL.getFile() + "/");

-			}

-		}

-		return rootURL;

-	}

-	/**

-	 * @see AbstractFeature#getInputStreamFor(String)

-	 */

-	protected InputStream getInputStreamFor(String name) throws IOException {

-	

-		InputStream result = null;

-		try {

-			File entry = new File(getFeaturePath(), name);

-			result = new FileInputStream(entry);

-		} catch (IOException e) {

-			throw new IOException( "Error during retrieving the Stream of :" + name + " in feature:" + getURL().toExternalForm()+"\r\n"+e.toString());

-		}

-		return result;

-	}

-

-	/**

-	 * @see AbstractFeature#getStorageUnitNames()

-	 */

-	protected String[] getStorageUnitNames()  throws CoreException {

-		String[] result = new String[0];

-		try {

-			File featureDir = new File(getFeaturePath());

-			List files = getFileNames(featureDir);

-			result = new String[files.size()];

-			files.toArray(result);

-		} catch (Exception e){

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error retrieving archive names for:" + getIdentifier().toString(), e);

-			throw new CoreException(status);

-		}

-		return result;

-	}

-

-	/**

-	 * return the names of the files under the directory, relative to teh directory

-	 * if teh Directory is /home/user and the file is /home/user/hello, then retrun hello

-	 * This name is teh id that will be used to references the file again

-	 */

-	private List getFileNames(File dir) throws IOException{

-		List result = new ArrayList();

-		List files = getFiles(dir);

-		if (!(files==null || files.isEmpty())) {

-			int root = dir.getPath().length()+1;

-			File currentFile = null;

-			

-			Iterator iter = files.iterator();

-			while(iter.hasNext()){

-				currentFile = (File)iter.next();

-				result.add(currentFile.getPath().substring(root));

-			}

-		}

-		return result;

-	}

-

-	/**

-	 * return all teh files under the directory

-	 */

-	private List getFiles(File dir) throws IOException {

-		List result = new ArrayList();

-		

-		if (!dir.isDirectory()) throw new IOException(dir.getPath()+" is not a valid directory");

-		

-		File[] files = dir.listFiles();

-		if (files != null) // be careful since it can be null

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

-				if (files[i].isDirectory()){

-					result.add(getFiles(files[i]));

-				} else {

-					result.add(files[i]);

-				}

-			}

-		return result;

-	}

-

-	/**

-	 * return the archive ID for a plugin

-	 * plugins/pluginid_ver 

-	 */

-	private String getArchiveID(IPluginEntry entry) {

-		return SiteFile.DEFAULT_PLUGIN_PATH+entry.getIdentifier().toString();

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackaged.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackaged.java
deleted file mode 100644
index 72d6b53..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackaged.java
+++ /dev/null
@@ -1,384 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.*;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.*;

-import java.util.jar.JarFile;

-import java.util.zip.ZipEntry;

-

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

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

-

-/**

- * Parse the default feature.xml

- */

-public class FeaturePackaged extends Feature {

-

-	private JarFile currentOpenJarFile = null;

-

-	private URL rootURL;

-

-	public static final String JAR_EXTENSION = ".jar";

-

-	public static final FilenameFilter filter = new FilenameFilter(){

-		 public boolean accept(File dir, String name){

-		 	return name.endsWith(FeaturePackaged.JAR_EXTENSION);

-		 }

-	};

-

-	/**

-	 * @see IFeature#getRootURL()

-	 * In general, the Root URL is the URL of teh Feature

-	 * 

-	 * The RootURL is used to calculate relative URL for teh feature

-	 * In case of a file feature, you can just append teh relative path

-	 * to the URL of teh feature

-	 * 

-	 * In case of a JAR file, you cannot *just* append the file 

-	 * You have to transfrom the URL

-	 * 

-	 */

-	public URL getRootURL() throws MalformedURLException, IOException, CoreException {

-		

-		// Extract the JAR file in the TEMP drive

-		// and return the URL

-		

-		if (rootURL == null) {

-			// install the Feature info into the TEMP drive

-			// extract teh JAR file

-			SiteFile tempSite = (SiteFile)SiteManager.getTempSite();

-			

-			InputStream inStream = null;

-			String[] names = getStorageUnitNames();

-			if (names != null) {

-				openFeature();

-				for (int j = 0; j < names.length; j++) {

-					if ((inStream = getInputStreamFor(names[j])) != null)

-						 tempSite.storeFeatureInfo(getIdentifier(), names[j], inStream);

-				}

-				closeFeature();

-			}

-

-			// get the path to the Feature, which is now pon the file system

-			// <TempSite>/install/features/<id>_<ver>/

-			// add '/' as it is a directory

-			rootURL = UpdateManagerUtils.getURL(tempSite.getURL(),SiteFile.INSTALL_FEATURE_PATH+getIdentifier().toString()+"/",null);

-		}

-		return rootURL;

-	}

-

-	/**

-	 * Constructor for DefaultPackagedFeature

-	 */

-	public FeaturePackaged(IFeature sourceFeature, ISite targetSite) throws CoreException {

-		super(sourceFeature, targetSite);

-	}

-

-	/**

-	 * Constructor for DefaultPackagedFeature

-	 */

-	public FeaturePackaged(URL url, ISite targetSite)  throws CoreException {

-		super(url, targetSite);

-	}

-

-	/**

-	 * @see AbstractFeature#getContentReferenceToInstall(IPluginEntry[])

-	 */

-	public String[] getContentReferenceToInstall(IPluginEntry[] pluginsToInstall) {

-		String[] names = null;

-		if (pluginsToInstall != null) {

-			names = new String[pluginsToInstall.length];

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

-				names[i] = getArchiveID(pluginsToInstall[i]);

-			}

-		}

-		return names;

-	}

-

-	/**

-	 * @see AbstractFeature#getInputStreamFor(IPluginEntry,String)

-	 */

-	public InputStream getInputStreamFor(IPluginEntry pluginEntry, String name) throws CoreException {

-		URL siteURL = getSite().getURL();

-		InputStream result = null;

-

-		try {

-			// check if the site.xml had a coded URL for this plugin or if we

-			// should look in teh default place to find it: <site>+/plugins/+archiveId

-			String filePath = UpdateManagerUtils.getPath(((Site) getSite()).getURL(getArchiveID(pluginEntry)));						

-			open(filePath);

-			if (!(new File(filePath)).exists())

-				throw new IOException("The File:" + filePath + "does not exist.");

-			ZipEntry entry = currentOpenJarFile.getEntry(name);

-			result = currentOpenJarFile.getInputStream(entry);

-		} catch (Exception e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error opening :" + name + " in plugin archive:" + pluginEntry.getIdentifier().toString(), e);

-			throw new CoreException(status);

-		}

-		return result;

-	}

-

-	/**

-	 * @see AbstractFeature#getStorageUnitNames(IPluginEntry)

-	 */

-	public String[] getStorageUnitNames(IPluginEntry pluginEntry) throws CoreException {

-

-		// try to obtain the URL of the JAR file that contains the plugin entry from teh site.xml

-		// if it doesn't exist, use the default one

-		URL jarURL = ((Site) getSite()).getURL(getArchiveID(pluginEntry));

-		String path = UpdateManagerUtils.getPath(jarURL);					

-		String[] result = getJAREntries(path);

-

-		return result;

-	}

-

-	/**

-	 * Transfer feature.jar file locally

-	 */

-	private void transferLocally() throws CoreException {

-		// install in DEFAULT PATH for feature

-		// as we OWN the temp site

-

-		try {

-			String path = UpdateManagerUtils.getPath(getURL());			

-			URL resolvedURL = UpdateManagerUtils.resolveAsLocal(getURL(),path,null);

-			this.setURL(resolvedURL);

-

-			// DEBUG:

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_INSTALL) {

-				UpdateManagerPlugin.getPlugin().debug("the feature on TEMP file is :" + resolvedURL.toExternalForm());

-			}

-		} catch (IOException e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error transfering feature to TEMP directory", e);

-			throw new CoreException(status);

-		}

-	}

-

-	/**

-	 * return the archive ID for a plugin

-	 */

-	private String getArchiveID(IPluginEntry entry) {

-		return Site.DEFAULT_PLUGIN_PATH+entry.getIdentifier().toString() + JAR_EXTENSION;

-	}

-

-	/**

-	 * @see AbstractFeature#getContentReferences()

-	 */

-	public String[] getArchives() {

-		String[] names = new String[getPluginEntryCount()];

-		IPluginEntry[] entries = getPluginEntries();

-		for (int i = 0; i < getPluginEntryCount(); i++) {

-			names[i] = getArchiveID(entries[i]);

-		}

-		return names;

-	}

-

-	/**

-	 * @see AbstractFeature#isInstallable()

-	 */

-	public boolean isInstallable() {

-		return true;

-	}

-

-	/**

-	 * @see AbstractFeature#getInputStreamFor(String)

-	 */

-	protected InputStream getInputStreamFor(String name) throws CoreException, IOException {

-		URL siteURL = getSite().getURL();

-		InputStream result = null;

-		try {

-			// ensure the file is local

-			transferLocally();

-

-			// teh feature must have a URL as 

-			//it has been transfered locally

-			String filePath = UpdateManagerUtils.getPath(getURL());						

-			if (!(new File(filePath)).exists())

-				throw new IOException("The File:" + filePath + "does not exist.");

-			open(filePath);

-			ZipEntry entry = currentOpenJarFile.getEntry(name);

-			result = currentOpenJarFile.getInputStream(entry);

-

-		} catch (IOException e) {

-			throw new IOException("Error opening :" + name + " in feature archive:" + getURL().toExternalForm() + "\r\n" + e.toString());

-		}

-		return result;

-	}

-

-	/**

-	 * @see AbstractFeature#getStorageUnitNames()

-	 */

-	protected String[] getStorageUnitNames() throws CoreException {

-

-		// make sure the feature archive has been transfered locally

-		transferLocally();

-

-		// get the URL of the feature JAR file 

-		// must exist as we tranfered it locally

-		String path = UpdateManagerUtils.getPath(getURL());					

-		String[] result = getJAREntries(path);

-

-		return result;

-	}

-

-	/**

-	 * return the list of entries in the JAR file

-	 * Do not retrun Directory entries

-	 * 

-	 * do not get directories only entry as the directories will

-	 * be created when teh fils will be created

-	 * it was difficult to obtain a correct URL for a Directory inside a JAR

-	 * because of the last '\' in the entry

-	 */

-	private String[] getJAREntries(String path) throws CoreException {

-		String[] result = new String[0];

-		try {

-			JarFile jarFile = new JarFile(path);

-			List list = new ArrayList();

-			Enumeration enum = jarFile.entries();

-			int loop = 0;

-			while (enum.hasMoreElements()) {

-				ZipEntry nextEntry = (ZipEntry) enum.nextElement();

-				if (!nextEntry.isDirectory()) {

-					list.add(nextEntry.getName());

-					loop++;

-				}

-			}

-			jarFile.close();

-

-			// set the result			

-			if (loop > 0 && !list.isEmpty()) {

-				result = new String[loop];

-				list.toArray(result);

-			}

-		} catch (IOException e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error opening JAR file:" + path, e);

-			throw new CoreException(status);

-		}

-		return result;

-	}

-

-	/**

-	 * @see AbstractFeature#close(IPluginEntry)

-	 */

-	protected void close(IPluginEntry entry) throws IOException {

-		if (currentOpenJarFile != null)

-			currentOpenJarFile.close();

-	}

-

-	/**

-	 * @see AbstractFeature#closeFeature()

-	 */

-	public void closeFeature() throws IOException {

-		if (currentOpenJarFile != null)

-			currentOpenJarFile.close();

-	}

-

-	/**

-	 * opens a JAR file or returns the one already opened 

-	 * if teh path is the same.

-	 */

-	protected void open(String filePath) throws IOException {

-		JarFile newJarFile = new JarFile(filePath);

-		open(newJarFile);

-	}

-

-	/**

-	 * opens a JAR file or returns the one already opened

-	 * if teh path is the same.

-	 */

-	protected void open(JarFile newJarFile) throws IOException {

-

-		// are we looking into teh same Jar file

-		// or shoudl we close the previously opened one and open another one ?

-		if (currentOpenJarFile != null) {

-			if (!currentOpenJarFile.getName().equals(newJarFile.getName())) {

-				currentOpenJarFile.close();

-				currentOpenJarFile = newJarFile;

-			} else {

-				newJarFile.close();

-			}

-		} else {

-			currentOpenJarFile = newJarFile;

-		}

-	}

-

-	/**

-	 * return the appropriate resource bundle for this feature

-	 * Need to override as opening the JAR keeps it locked

-	 * 

-	 * baseclass + "_" + language1 + "_" + country1 + "_" + variant1 

-	 * baseclass + "_" + language1 + "_" + country1 + "_" + variant1 + ".properties" 

-	 * baseclass + "_" + language1 + "_" + country1 

-	 * baseclass + "_" + language1 + "_" + country1 + ".properties" 

-	 * baseclass + "_" + language1 

-	 * baseclass + "_" + language1 + ".properties" 

-	 * baseclass + "_" + language2 + "_" + country2 + "_" + variant2 

-	 * baseclass + "_" + language2 + "_" + country2 + "_" + variant2 + ".properties" 

-	 * baseclass + "_" + language2 + "_" + country2 

-	 * baseclass + "_" + language2 + "_" + country2 + ".properties" 

-	 * baseclass + "_" + language2 

-	 * baseclass + "_" + language2 + ".properties" 

-	 * baseclass 

-	 * baseclass + ".properties" 

-	 */

-	public ResourceBundle getResourceBundle() throws IOException, CoreException {

-

-		ResourceBundle result = null;

-		String[] names = getStorageUnitNames();

-		String base = FEATURE_FILE;

-

-		// retrive names in teh JAR that starts with the basename

-		// remove FEATURE_XML file

-		List baseNames = new ArrayList();

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

-			if (names[i].startsWith(base))

-				baseNames.add(names[i]);

-		}

-		baseNames.remove(FEATURE_XML);

-

-		// is there any file		

-		if (!baseNames.isEmpty()) {

-

-			Locale locale = Locale.getDefault();

-			String lang1 = locale.getLanguage();

-			String country1 = locale.getCountry();

-			String variant1 = locale.getVariant();

-			String[] attempt =

-				new String[] {

-					base + "_" + lang1 + "_" + country1 + "_" + variant1,

-					base + "_" + lang1 + "_" + country1 + "_" + variant1 + ".properties",

-					base + "_" + lang1 + "_" + country1,

-					base + "_" + lang1 + "_" + country1 + ".properties",

-					base + "_" + lang1,

-					base + "_" + lang1 + ".properties",

-					base,

-					base + ".properties" };

-

-			boolean found = false;

-			int index = 0;

-			while (!found && index < attempt.length) {

-				if (baseNames.contains(attempt[index])) {

-					result = new PropertyResourceBundle(getInputStreamFor(attempt[index]));

-					found = true;

-				}

-				index++;

-			}

-

-		} // baseNames is empty

-

-		if (result == null) {

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {

-				UpdateManagerPlugin.getPlugin().debug("Cannot find resourceBundle for:" + base + " - " + Locale.getDefault().toString() + ":" + this.getURL().toExternalForm());

-			}

-		}

-		return result;

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureParser.java
deleted file mode 100644
index 7da552e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureParser.java
+++ /dev/null
@@ -1,434 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.IOException;

-import java.io.InputStream;

-import java.net.*;

-import java.util.*;

-

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

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

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

-import org.xml.sax.*;

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

-

-

-

-

-/**

- * Parse the feature.xml

- */

-

-

-

-public class FeatureParser extends DefaultHandler {

-

-

-	private SAXParser parser;

-	//private InputStream featureStream;

-	private Feature feature;

-	private static final String FEATURE				= "feature";	

-	private static final String DESCRIPTION		= "description";

-	private static final String COPYRIGHT			= "copyright";	

-	private static final String LICENSE 				= "license";	

-	private static final String UPDATE					= "update";

-	private static final String DISCOVERY			= "discovery";

-	private static final String IMPORT					= "import";	

-	private static final String PLUGIN					= "plugin";	

-	private static final String DATA						= "data";	

-	private static final String GROUP					= "group";			

-	

-	private String text;

-	private ResourceBundle	bundle;

-		

-

-

-	/**

-	 * Constructor for DefaultFeatureParser

-	 */

-	public FeatureParser(InputStream featureStream,IFeature feature) throws IOException,SAXException, CoreException {

-		super();

-		parser = new SAXParser();

-		parser.setContentHandler(this);

-		

-		Assert.isTrue(feature instanceof Feature);

-		this.feature = (Feature)feature;

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-			UpdateManagerPlugin.getPlugin().debug("Start parsing:"+feature.getURL().toExternalForm());

-		}

-

-		bundle = ((Feature)feature).getResourceBundle();

-		

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

-	}

-	

-	/**

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

-	 */

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

-		throws SAXException {

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-			UpdateManagerPlugin.getPlugin().debug("Start Element: uri:"+uri+" local Name:"+localName+" qName:"+qName);

-		}

-		

-		try {

-		String tag = localName.trim();

-	

-		if (tag.equalsIgnoreCase(FEATURE)){

-			processFeature(attributes);

-			return;

-		}

-	

-		if (tag.equalsIgnoreCase(DESCRIPTION)){

-			feature.setDescription(processInfo(attributes));

-			return;

-		}

-		

-		if (tag.equalsIgnoreCase(COPYRIGHT)){

-			feature.setCopyright(processInfo(attributes));

-			return;

-		}

-		

-		if (tag.equalsIgnoreCase(LICENSE)){

-			feature.setLicense(processInfo(attributes));

-			return;

-		}

-	

-		if (tag.equalsIgnoreCase(UPDATE)){

-			feature.setUpdateInfo(processURLInfo(attributes));

-			return;

-		}		

-		

-		if (tag.equalsIgnoreCase(DISCOVERY)){

-			feature.addDiscoveryInfo(processURLInfo(attributes));

-			return;

-		}		

-		

-		if (tag.equalsIgnoreCase(IMPORT)){

-			processImport(attributes);

-			return;

-		}

-		

-		if (tag.equalsIgnoreCase(PLUGIN)){

-			processPlugin(attributes);

-		}

-

-		if (tag.equalsIgnoreCase(DATA)){

-			processData(attributes);

-		}

-

-

-		} catch (MalformedURLException e){

-			throw new SAXException("error processing URL. Check the validity of the URLs.",e);

-		} catch (Exception e){

-			throw new SAXException("error creating temporary feature on the local file system.",e);

-		}

-

-	}

-	

-	

-	/** 

-	 * process the Feature info

-	 */

-	private void processFeature(Attributes attributes) throws MalformedURLException, IOException, CoreException {

-		// if the type doesn't exist ask the site for default type

-		String id = attributes.getValue("id");

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

-		VersionedIdentifier versionedId = new VersionedIdentifier(id, ver);

-		feature.setIdentifier(versionedId);

-		

-		// Feature Label

-		String label = UpdateManagerUtils.getResourceString(attributes.getValue("label"),bundle);

-		feature.setLabel(label);

-		

-		String provider = attributes.getValue("provider-name");

-		feature.setProvider(provider);

-		

-		//image

-		URL imageURL = UpdateManagerUtils.getURL(feature.getRootURL(),attributes.getValue("image"),null);

-		feature.setImage(imageURL); 

-		

-		//feature.setOS

-		String os = attributes.getValue("os");

-		feature.setOS(os);

-		

-		//feature.setWS

-		String ws = attributes.getValue("ws");

-		feature.setWS(ws);

-		

-		//feature.setNL

-		String nl = attributes.getValue("nl");

-		feature.setNL(nl);

-		

-		//feature.setApplication

-		String application = attributes.getValue("application"); 

-		feature.setApplication(application);		

-		

-		

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-			UpdateManagerPlugin.getPlugin().debug("End process Feature tag: id:"+id+" ver:"+ver+" label:"+label+" provider:"+provider);

-			UpdateManagerPlugin.getPlugin().debug("End process Feature tag: image:"+imageURL);

-			UpdateManagerPlugin.getPlugin().debug("End process Feature tag: ws:"+ws+" os:"+os+" nl:"+nl+" application:"+application); 

-		}

-	}

-	

-	/** 

-	 * process the info

-	 */

-	private IInfo processInfo(Attributes attributes) throws MalformedURLException, IOException, CoreException {

-		String infoURL = attributes.getValue("url");

-		infoURL = UpdateManagerUtils.getResourceString(infoURL,bundle);

-		URL url = UpdateManagerUtils.getURL(feature.getRootURL(),infoURL,null);

-		Info inf = new Info(url);

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-			UpdateManagerPlugin.getPlugin().debug("Processed Info: url:"+infoURL);

-		}

-		

-		return inf;

-	}

-	

-	/** 

-	 * process the URL info

-	 */

-	private IInfo processURLInfo(Attributes attributes) throws MalformedURLException, IOException, CoreException {

-		String infoURL = attributes.getValue("url");

-		infoURL = UpdateManagerUtils.getResourceString(infoURL,bundle);

-		URL url = UpdateManagerUtils.getURL(feature.getRootURL(),infoURL,null);

-		String label = attributes.getValue("label");

-		label = UpdateManagerUtils.getResourceString(label,bundle);

-		IInfo inf = new Info(label,url);

-		

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-			UpdateManagerPlugin.getPlugin().debug("Processed URLInfo: url:"+infoURL+" label:"+label);

-		}

-

-		

-		return inf;

-	}

-

-	

-	/** 

-	 * process the Archive info

-	 */

-	private void processImport(Attributes attributes){

-		String id  = attributes.getValue("plugin");

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

-		String match = attributes.getValue("match");

-		

-		int rule = IImport.RULE_NONE;

-		if (match==null || match.trim().equals("")){

-				rule = IImport.RULE_COMPATIBLE;

-		} else {

-		if (match.trim().equalsIgnoreCase("compatible")) 

-			rule = IImport.RULE_COMPATIBLE;

-			else if (match.trim().equalsIgnoreCase("perfect")) 

-				rule = IImport.RULE_PERFECT;

-				else	if (match.trim().equalsIgnoreCase("equivalent"))

-					rule = IImport.RULE_EQUIVALENT ;

-					else if (match.trim().equalsIgnoreCase("greaterOrHigher"))

-						rule = IImport.RULE_GRATER_OR_EQUAL; 

-		}

-		

-		feature.addImport(new DefaultImport(id,ver,rule));

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-			UpdateManagerPlugin.getPlugin().debug("Processed require: id:"+id+" ver:"+ver);

-			UpdateManagerPlugin.getPlugin().debug("Processed require: match:"+match+" ->:"+rule);			

-		}

-		

-	}	

-	

-	/** 

-	 * process the Plugin info

-	 */

-	private void processPlugin(Attributes attributes) {

-		String id  = attributes.getValue("id");

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

-		PluginEntry pluginEntry = new PluginEntry(id,ver);

-		

-		String fragment = attributes.getValue("fragment");

-		pluginEntry.setFragment(fragment!=null && fragment.trim().equalsIgnoreCase("true"));

-

-		//feature.setOS

-		String os = attributes.getValue("os");

-		pluginEntry.setOS(os);

-		

-		//feature.setWS

-		String ws = attributes.getValue("ws");

-		pluginEntry.setWS(ws);

-		

-		//feature.setNL

-		String nl = attributes.getValue("nl");

-		pluginEntry.setNL(nl);

-		

-		

-		// download size

-		int download_size = -1;

-		String download = attributes.getValue("download-size");

-		if (download!=null && !download.trim().equals("")){

-		try {

-			download_size = Integer.valueOf(download).intValue();

-		} catch (NumberFormatException e){

-			String pluginId = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR,pluginId,IStatus.OK,"Invalid download Size:"+download+"  for plugin:"+id+"  version:"+ver,e);

-			UpdateManagerPlugin.getPlugin().getLog().log(status);

-		}

-		}

-		pluginEntry.setDownloadSize(download_size);

-		

-		

-		// install size	

-		int install_size = -1;

-		String install = attributes.getValue("install-size");

-		if (install!=null && !install.trim().equals("")){

-			try{

-				install_size = Integer.valueOf(install).intValue();

-			} catch (NumberFormatException e){

-			String pluginId = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR,pluginId,IStatus.OK,"Invalid install size:"+install+"  for plugin:"+id+"  version:"+ver,e);

-			UpdateManagerPlugin.getPlugin().getLog().log(status);

-			}

-		}

-		pluginEntry.setInstallSize(install_size);				

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-			UpdateManagerPlugin.getPlugin().debug("Processed Plugin: id:"+id+" ver:"+ver+" fragment:"+fragment);

-			UpdateManagerPlugin.getPlugin().debug("Processed Plugin: os:"+os+" ws:"+ws+" nl:"+nl);			

-			UpdateManagerPlugin.getPlugin().debug("Processed Plugin: download size:"+download_size+" install size:"+install_size);

-		}

-

-	

-		feature.addPluginEntry(pluginEntry);

-	}

-

-	/** 

-	 * process the Data info

-	 */

-	private void processData(Attributes attributes) {

-		String id  = attributes.getValue("id");

-		DataEntry dataEntry = new DataEntry(id);

-		

-		// download size

-		int download_size = -1;

-		String download = attributes.getValue("download-size");

-		if (download!=null && !download.trim().equals("")){

-		try {

-			download_size = Integer.valueOf(download).intValue();

-		} catch (NumberFormatException e){

-			String pluginId = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR,pluginId,IStatus.OK,"Invalid download Size:"+download+"  for plugin:"+id,e);

-			UpdateManagerPlugin.getPlugin().getLog().log(status);

-		}

-		}

-		dataEntry.setDownloadSize(download_size);

-		

-		

-		// install size	

-		int install_size = -1;

-		String install = attributes.getValue("install-size");

-		if (install!=null && !install.trim().equals("")){

-			try{

-				install_size = Integer.valueOf(install).intValue();

-			} catch (NumberFormatException e){

-			String pluginId = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR,pluginId,IStatus.OK,"Invalid install size:"+install+"  for plugin:"+id,e);

-			UpdateManagerPlugin.getPlugin().getLog().log(status);

-			}

-		}

-		dataEntry.setInstallSize(install_size);				

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-			UpdateManagerPlugin.getPlugin().debug("Processed Data: id:"+id);

-			UpdateManagerPlugin.getPlugin().debug("Processed Data: download size:"+download_size+" install size:"+install_size);

-		}

-

-	

-		feature.addDataEntry(dataEntry);

-	}

-

-

-	/**

-	 * @see DefaultHandler#error(SAXParseException)

-	 */

-	public void error(SAXParseException arg0) throws SAXException {

-		super.error(arg0);

-	}

-

-

-	/**

-	 * @see DefaultHandler#endElement(String, String, String)

-	 */

-	public void endElement(String uri, String localName, String qName)

-		throws SAXException {

-

-		if (text!= null) {

-

-			String tag = localName.trim();

-

-			if (tag.equalsIgnoreCase(DESCRIPTION)) {

-				((Info)feature.getDescription()).setText(text);

-				

-				// DEBUG:		

-				if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-					UpdateManagerPlugin.getPlugin().debug("Found Description Text");

-				}

-			}

-

-

-			if (tag.equalsIgnoreCase(COPYRIGHT)) {

-				((Info)feature.getCopyright()).setText(text);

-

-				// DEBUG:		

-				if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-					UpdateManagerPlugin.getPlugin().debug("Found Copyright Text");

-				}

-				

-			}

-

-

-			if (tag.equalsIgnoreCase(LICENSE)) {

-				((Info)feature.getLicense()).setText(text);

-

-				// DEBUG:		

-				if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-					UpdateManagerPlugin.getPlugin().debug("Found License Text");

-				}

-				

-			}

-			// clean the text

-			text = null;

-		}

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING){

-			UpdateManagerPlugin.getPlugin().debug("End Element:"+uri+":"+localName+":"+qName);

-		}

-	}

-

-

-	/**

-	 * @see DefaultHandler#characters(char[], int, int)

-	 */

-	public void characters(char[] ch, int start, int length) throws SAXException {

-		text = new String(ch,start,length).trim();

-	}

-

-

-}

-

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureReference.java
deleted file mode 100644
index 4682cee..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureReference.java
+++ /dev/null
@@ -1,210 +0,0 @@
-package org.eclipse.update.internal.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.PrintWriter;

-import java.lang.reflect.Constructor;

-import java.net.URL;

-import java.util.*;

-

-import org.eclipse.core.internal.runtime.Assert;

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

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

-

-/**

- *

- * 

- */

-

-public class FeatureReference implements IFeatureReference, IWritable {

-

-	private URL url;

-

-	private ISite site;

-

-	private String featureType;

-	

-	private IFeature feature;

-

-	/**

-	 * category String; From teh XML file

-	 */

-	private List categoryString;

-

-	/**

-	 * category : delegate to teh site

-	 */

-	private List categories;

-

-	/**

-	 * Constructor

-	 */

-	public FeatureReference(ISite site, URL url) {

-		super();

-		this.site = site;

-		this.url = url;

-	}

-

-	/**

-	 * Returns the URL that points at the Feature.

-	 * This URL is the unique identifier of the feature

-	 * within the site.

-	 * 

-	 * The URL is declared in the <code>feature.xml</code> file.	

-	 * 

-	 * @return the URL identifying feature in the Site.

-	 */

-	public URL getURL() {

-		return url;

-	}

-

-	/**

-	 * Returns the array of categories the feature belong to.

-	 * 

-	 * The categories are declared in the <code>site.xml</code> file.

-	 * 

-	 * @see ICategory

-	 * @return the array of categories this feature belong to. Returns an empty array

-	 * if there are no cateopries.

-	 */

-	public ICategory[] getCategories() {

-

-		if (categories == null) {

-			categories = new ArrayList();

-			List categoriesAsString = getCategoryString();

-			if (categoriesAsString != null && !categoriesAsString.isEmpty()) {

-				Iterator iter = categoriesAsString.iterator();

-				while (iter.hasNext()) {

-					categories.add(((Site) site).getCategory((String) iter.next()));

-				}

-			}

-		}

-

-		ICategory[] result = new ICategory[0];

-

-		if (!(categories == null || categories.isEmpty())) {

-			result = new ICategory[categories.size()];

-			categories.toArray(result);

-		}

-		return result;

-	}

-

-	/**

-	 * Returns the feature this reference points to

-	 *  @return teh feature on teh Site

-	 */

-	public IFeature getFeature() throws CoreException {

-

-		if (feature == null) {

-			if (featureType != null && !featureType.equals("")) {

-				feature = createFeature(featureType);

-				Assert.isTrue(false,"Type not available yet for featuresConfigured in Site.XML...");

-			} else {

-				if (url.toExternalForm().endsWith(FeaturePackaged.JAR_EXTENSION)) {

-					// if it ends with JAR, guess it is a FeaturePackaged

-					feature = new FeaturePackaged(url,site);

-				} else {

-					// ask the Site for the default type 

-					feature = (Feature) ((Site) site).getDefaultFeature(url);

-				}

-			}

-		}

-		return feature;

-	}

-

-	/**

-	 * Gets the categoryString

-	 * @return Returns a String

-	 */

-	private List getCategoryString() {

-		if (categoryString == null)

-			categoryString = new ArrayList(0);

-		return categoryString;

-	}

-

-	/**

-	 * Adds a categoryString

-	 * @param categoryString The categoryString to add

-	 */

-	public void addCategoryString(String categoryString) {

-		if (this.categoryString == null)

-			this.categoryString = new ArrayList(0);

-		this.categoryString.add(categoryString);

-	}

-

-	/**

-	 * Sets the categoryString

-	 * @param categoryString The categoryString to set

-	 */

-	public void setCategoryString(String[] categoryString) {

-		if (categoryString != null) {

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

-				addCategoryString(categoryString[i]);

-			}

-		}

-	}

-	/**

-	 * Sets the featureType.

-	 * @param featureType The featureType to set

-	 */

-	public void setFeatureType(String featureType) {

-		this.featureType = featureType;

-	}

-

-	/*

-	 * @see IFeatureReference#addCategory(ICategory)

-	 */

-	public void addCategory(ICategory category) {

-		this. addCategoryString(category.getName());

-	}

-

-	/*

-	 * @see IWritable#write(int, PrintWriter)

-	 */

-	public void write(int indent, PrintWriter w) {

-	String gap = "";

-	for (int i = 0; i < indent; i++) gap += " ";

-	String increment = "";

-	for (int i = 0; i < IWritable.INDENT; i++) increment += " ";

-		

-		w.print(gap+"<"+SiteParser.FEATURE+" ");

-		// FIXME: feature type to implement

-		// 

-		// feature URL

-		String URLInfoString = null;

-		if(getURL()!=null) {

-			URLInfoString = UpdateManagerUtils.getURLAsString(site.getURL(),getURL());

-			w.print("url=\""+Writer.xmlSafe(URLInfoString)+"\"");

-		}

-		w.println(">");

-		

-		Iterator categories = getCategoryString().iterator();

-		while (categories.hasNext()) {

-			String element = (String) categories.next();

-			w.println(gap+increment+"<"+SiteParser.CATEGORY+" name=\""+Writer.xmlSafe(element)+"\"/>");		

-		}

-		w.println("</"+SiteParser.FEATURE+">");

-	}

-

-	/**

-	 * create an instance of a class that implements IFeature

-	 */

-	private IFeature createFeature(String featureClass) throws CoreException{

-		IFeature feature = null;

-		//FIXME: Executable extension for Feature Type

-		return feature;

-	}

-	

-

-	/**

-	 * Gets the site.

-	 * @return Returns a ISite

-	 */

-	public ISite getSite() {

-		return site;

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/IWritable.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/IWritable.java
deleted file mode 100644
index 3efcdd7..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/IWritable.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.eclipse.update.internal.core;

-

-import java.io.PrintWriter;

-

-/**

- * Called when we want the model to persist as XML

- */

-

-public interface IWritable {

-	

-	public static final int INDENT = 3;

-

-	void write(int indent, PrintWriter w);

-

-

-}

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Info.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Info.java
deleted file mode 100644
index 7d32898..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Info.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfiguration.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfiguration.java
deleted file mode 100644
index 98cca2a..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfiguration.java
+++ /dev/null
@@ -1,391 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.*;

-import java.net.URL;

-import java.util.*;

-

-import org.eclipse.core.boot.BootLoader2;

-import org.eclipse.core.boot.IPlatformConfiguration;

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

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

-import org.xml.sax.SAXException;

-

-public class InstallConfiguration implements IInstallConfiguration, IWritable {

-

-	private ListenersList listeners = new ListenersList();

-	private boolean isCurrent;

-	private URL location;

-	private Date date;

-	private String label;

-	private List activities;

-	private List configurationSites;

-	/*

-	 * default constructor. Create

-	 */

-	public InstallConfiguration(URL newLocation, String label) throws CoreException {

-		this.location = newLocation;

-		this.label = label;

-		this.isCurrent = false;

-		initialize();

-	}

-

-	/*

-	 * copy constructor

-	 */

-	public InstallConfiguration(IInstallConfiguration config,URL newLocation, String label) {

-		this.location = newLocation;

-		this.label = label;

-		// do not copy list of listeners nor activities

-		if (config!=null){

-			configurationSites = new ArrayList();

-			configurationSites.addAll(Arrays.asList(config.getConfigurationSites()));

-			/**featuresConfigured = new ArrayList();

-			featuresConfigured.addAll(Arrays.asList(config.getConfiguredFeatures()));

-			featuresUnconfigured = new ArrayList();

-			featuresUnconfigured.addAll(Arrays.asList(config.getUnconfiguredFeatures()));*/

-		}

-		date = new Date();

-		this.isCurrent = false;

-	}

-	

-	/**

-	 * initialize the configurations from the persistent model.

-	 */

-	private void initialize() throws CoreException {

-

-		try {

-			//URL configXml = UpdateManagerUtils.getURL(location, SITE_LOCAL_FILE, null);

-			InstallConfigurationParser parser = new InstallConfigurationParser(location.openStream(), this);

-			

-		}  catch (FileNotFoundException exception) {

-			// file doesn't exist, ok, log it and continue 

-			// log no config

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {

-				UpdateManagerPlugin.getPlugin().debug(location.toExternalForm() + " does not exist, the local site is not in synch with the filesystem and is pointing to a file taht doesn;t exist.");

-			}

-		} catch (SAXException exception) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error during parsing of the install config XML:" + location.toExternalForm(), exception);

-			throw new CoreException(status);

-		} catch (IOException exception) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error during file access :" , exception);

-			throw new CoreException(status);

-		}

-

-	}

-	

-	

-	/*

-	 * @see IInstallConfiguration#getConfigurationSites()

-	 */

-	public IConfigurationSite[] getConfigurationSites() {

-		IConfigurationSite[] sites = new IConfigurationSite[0];

-		if (configurationSites != null && !configurationSites.isEmpty()) {

-			sites = new IConfigurationSite[configurationSites.size()];

-			configurationSites.toArray(sites);

-		}

-		return sites;

-	}

-

-

-	/*

-	 * @see IInstallConfiguration#addConfigurationSite(IConfigurationSite)

-	 */

-	public void addConfigurationSite(IConfigurationSite site) {

-		if (!isCurrent)

-			return;

-			

-		//Start UOW ?

-		ConfigurationActivity activity = new ConfigurationActivity(IActivity.ACTION_SITE_INSTALL);

-		activity.setLabel(site.getSite().getURL().toExternalForm());

-		activity.setDate(new Date());

-		addConfigSite(site);

-

-		// notify listeners

-		Object[] configurationListeners = listeners.getListeners();

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

-			((IInstallConfigurationChangedListener) configurationListeners[i]).installSiteAdded(site);

-		}

-		

-		// everything done ok

-		activity.setStatus(IActivity.STATUS_OK);

-		this.addActivity(activity);

-	}

-

-	/**

-	 * Adds the configuration to teh list

-	 * is called when adding a Site or parsing the XML file

-	 * in this case we do not want to create a new activity, so we do not want t call

-	 * addConfigurationSite()

-	 */

-	public void addConfigSite(IConfigurationSite site) {

-		if (configurationSites == null) {

-			configurationSites = new ArrayList(0);

-		}

-		configurationSites.add(site);

-	}

-

-	/*

-	 * @see IInstallConfiguration#removeConfigurationSite(IConfigurationSite)

-	 */

-	public void removeConfigurationSite(IConfigurationSite site) {

-		if (!isCurrent)

-			return;

-		//FIXME: remove should make sure we synchronize

-		if (configurationSites != null) {

-			configurationSites.remove(site);

-

-			// notify listeners

-			Object[] configurationListeners = listeners.getListeners();

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

-				((IInstallConfigurationChangedListener) configurationListeners[i]).installSiteRemoved(site);

-			}

-		}

-	}

-

-	/*

-	 * @see IInstallConfiguration#isCurrent()

-	 */

-	public boolean isCurrent() {

-		return isCurrent;

-	}

-

-

-	/*

-	 *  @see IInstallConfiguration#setCurrent(boolean)

-	 */

-	public void setCurrent(boolean isCurrent) {

-		this.isCurrent = isCurrent;

-	}

-

-	/*

-	 * @see IInstallConfiguration#addInstallConfigurationChangedListener(IInstallConfigurationChangedListener)

-	 */

-	public void addInstallConfigurationChangedListener(IInstallConfigurationChangedListener listener) {

-		synchronized (listeners) {

-			listeners.add(listener);

-		}

-	}

-

-	/*

-	 * @see IInstallConfiguration#removeInstallConfigurationChangedListener(IInstallConfigurationChangedListener)

-	 */

-	public void removeInstallConfigurationChangedListener(IInstallConfigurationChangedListener listener) {

-		synchronized (listeners) {

-			listeners.remove(listener);

-		}

-	}

-

-	/*

-	 * @see IInstallConfiguration#export(File)

-	 */

-	public void export(File exportFile) throws CoreException{

-		try {

-				PrintWriter fileWriter = new PrintWriter(new FileOutputStream(exportFile));

-				Writer writer = new Writer();

-				writer.writeSite(this, fileWriter);

-				fileWriter.close();

-			} catch (FileNotFoundException e) {

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Cannot save configration into " + exportFile.getAbsolutePath(), e);

-				throw new CoreException(status);

-			}		

-	}

-

-	/*

-	 * @see IInstallConfiguration#getActivities()

-	 */

-	public IActivity[] getActivities() {

-		IActivity[] result = new IActivity[0];

-		if (activities!=null && !activities.isEmpty()){

-			result = new IActivity[activities.size()];

-			activities.toArray(result);

-		}

-		return result;

-	}

-

-

-	/**

-	 * Adds an activity

-	 */

-	public void addActivity(IActivity activity) {

-		if (activities==null) activities = new ArrayList(0);

-		activities.add(activity);

-	}

-

-	/*

-	 * @see IInstallConfiguration#getCreationDate()

-	 */

-	public Date getCreationDate() {

-		return date;

-	}

-	

-	/**

-	 * Sets the date.

-	 * @param date The date to set

-	 */

-	public void setCreationDate(Date date) {

-		this.date = date;

-	}	

-

-	/*

-	 * @see IInstallConfiguration#getURL()

-	 */

-	public URL getURL() {

-		return location;

-	}

-

-	/**

-	 * Sets the URL.

-	 * @param location The URL to set

-	 */

-	public void setURL(URL location) {

-		this.location = location;

-	}

-

-	/*

-	 * @see IInstallConfiguration#getLabel()

-	 */

-	public String getLabel() {

-		return label;

-	}

-

-	/**

-	 * Sets the label.

-	 * @param label The label to set

-	 */

-	public void setLabel(String label) {

-		this.label = label;

-	}

-	

-	/**

-	 * Saves the configuration into its URL/location

-	 */

-	public void save() throws CoreException {

-		

-		// save the configuration

-		if (location.getProtocol().equalsIgnoreCase("file")) {

-			// the location points to a file

-			File file = new File(location.getFile());

-			export(file);

-		}

-		

-		

-		// Write info for the next runtime

-		IPlatformConfiguration runtimeConfiguration = UpdateManagerUtils.getRuntimeConfiguration();

-		Iterator iterConfigurationSites = configurationSites.iterator();

-		while (iterConfigurationSites.hasNext()) {

-			IConfigurationSite element = (IConfigurationSite) iterConfigurationSites.next();

-			ConfigurationPolicy configurationPolicy = (ConfigurationPolicy)element.getConfigurationPolicy();

-			IPlatformConfiguration.ISitePolicy sitePolicy = runtimeConfiguration.createSitePolicy(configurationPolicy.getPolicy(),configurationPolicy.getPlugins());

-			runtimeConfiguration.createSiteEntry(element.getSite().getURL(),sitePolicy);	

-			try {

-				runtimeConfiguration.save();

-			} catch (IOException e){

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Cannot save Platform Configuration ", e);

-				throw new CoreException(status);

-			}

-			

-		}

-		

-	}

-

-

-	/*

-	 * @see IWritable#write(int, PrintWriter)

-	 */

-	public void write(int indent, PrintWriter w) {

-		

-		String gap = "";

-		for (int i = 0; i < indent; i++)

-			gap += " ";

-		String increment = "";

-		for (int i = 0; i < IWritable.INDENT; i++)

-			increment += " ";

-		

-		

-		w.print(gap + "<" + InstallConfigurationParser.CONFIGURATION + " ");

-		w.print("date=\"" + date.getTime() + "\" ");

-		w.println(">");

-		w.println("");

-		

-		// site configurations

-		if (configurationSites!=null){

-		Iterator iter = configurationSites.iterator();

-		while (iter.hasNext()) {

-			ConfigurationSite element = (ConfigurationSite) iter.next();

-			((IWritable)element).write(indent+IWritable.INDENT,w);

-		}

-		}

-		

-		// activities

-		if (activities!=null && !activities.isEmpty()){

-			Iterator iter = activities.iterator();

-			while (iter.hasNext()) {

-				ConfigurationActivity element = (ConfigurationActivity) iter.next();

-				((IWritable)element).write(indent+IWritable.INDENT,w);				

-			}	

-		}

-		

-		// end

-		w.println(gap+"</"+InstallConfigurationParser.CONFIGURATION+">");

-		

-		

-	}

-

-

-	/**

-	 * reverts this configuration to the match the new one

-	 * 

-	 * remove any site that are in the current but not in the old state

-	 * 

-	 * replace all the config sites of the current state with the old one

-	 * 

-	 * for all the sites left in the current state, calculate the revert

-	 * 

-	 */

-	public void revertTo(IInstallConfiguration configuration,IProgressMonitor monitor) throws CoreException {

-		

-		IConfigurationSite[] oldConfigSites = configuration.getConfigurationSites();

-		

-		// create a hashtable of the *old* sites

-		Map oldSitesMap = new Hashtable(0);

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

-			IConfigurationSite element = oldConfigSites[i];

-			oldSitesMap.put(element.getSite().getURL().toExternalForm(),element);

-		}

-

-		

-		// create list of all the sites that map the *old* sites

-		// we want the intersection between teh old sites and teh current sites

-		if(configurationSites!=null){

-			

-			// for each current site, ask the old site

-			// to calculate the delta 

-			Iterator currentSites = configurationSites.iterator();

-			String key = null;

-			while (currentSites.hasNext()) {

-				IConfigurationSite element = (IConfigurationSite) currentSites.next();

-				key = element.getSite().getURL().toExternalForm();

-				IConfigurationSite oldSite = (IConfigurationSite)oldSitesMap.get(key);

-				if (oldSite!=null){

-					((ConfigurationSite)oldSite).deltaWith(element);		

-				}

-				

-			}

-			

-			

-			// the new configuration has the exact same sites as the old configuration

-			configurationSites = new ArrayList(0);

-			configurationSites.addAll(oldSitesMap.values());

-			

-		}

-		

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfigurationParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfigurationParser.java
deleted file mode 100644
index 5258db5..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfigurationParser.java
+++ /dev/null
@@ -1,234 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.IOException;

-import java.io.InputStream;

-import java.net.*;

-import java.util.*;

-

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

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

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

-import org.xml.sax.*;

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

-

-/**

- * parse the default site.xml

- */

-

-public class InstallConfigurationParser extends DefaultHandler {

-

-	private SAXParser parser;

-	private InputStream siteStream;

-	private InstallConfiguration config;

-	private ConfigurationSite configSite;

-	public static final String CONFIGURATION = "configuration";

-	public static final String CONFIGURATION_SITE = "site";

-	public static final String FEATURE = "feature";

-	public static final String ACTIVITY = "activity";

-

-	private ResourceBundle bundle;

-

-	/**

-	 * Constructor for DefaultSiteParser

-	 */

-	public InstallConfigurationParser(InputStream siteStream, IInstallConfiguration config) throws IOException, SAXException, CoreException {

-		super();

-		parser = new SAXParser();

-		parser.setContentHandler(this);

-

-		this.siteStream = siteStream;

-		Assert.isTrue(config instanceof InstallConfiguration);

-		this.config = (InstallConfiguration) config;

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("Start parsing Configuration:" + (config).getURL().toExternalForm());

-		}

-

-		bundle = getResourceBundle();

-

-		parser.parse(new InputSource(this.siteStream));

-	}

-

-	/**

-	 * return the appropriate resource bundle for this sitelocal

-	 */

-	private ResourceBundle getResourceBundle() throws IOException, CoreException {

-		ResourceBundle bundle = null;

-		try {

-			ClassLoader l = new URLClassLoader(new URL[] { config.getURL()}, null);

-			bundle = ResourceBundle.getBundle(SiteLocal.SITE_LOCAL_FILE, Locale.getDefault(), l);

-		} catch (MissingResourceException e) {

-			//ok, there is no bundle, keep it as null

-			//DEBUG:

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {

-				UpdateManagerPlugin.getPlugin().debug(e.getLocalizedMessage() + ":" + config.getURL().toExternalForm());

-			}

-		}

-		return bundle;

-	}

-

-	/**

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

-	 */

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

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName);

-		}

-		try {

-

-			String tag = localName.trim();

-

-			if (tag.equalsIgnoreCase(CONFIGURATION)) {

-				processConfig(attributes);

-				return;

-			}

-

-			if (tag.equalsIgnoreCase(CONFIGURATION_SITE)) {

-				processSite(attributes);

-				return;

-			}

-

-			if (tag.equalsIgnoreCase(FEATURE)) {

-				processFeature(attributes);

-				return;

-			}

-

-			if (tag.equalsIgnoreCase(ACTIVITY)) {

-				processActivity(attributes);

-				return;

-			}

-

-		} catch (MalformedURLException e) {

-			throw new SAXException("error processing URL. Check the validity of the URLs", e);

-		} catch (CoreException e) {

-			throw new SAXException("error retrieving the site. Check validity of teh URL, the site.xml and the connection", e);

-		}

-

-	}

-

-	/** 

-	 * process the Site info

-	 */

-	private void processSite(Attributes attributes) throws MalformedURLException, CoreException {

-

-		//site url

-		String urlString = attributes.getValue("url");

-		URL siteURL = new URL(urlString);

-		ISite site = SiteManager.getSite(siteURL);

-

-		// policy

-		String policyString = attributes.getValue("policy");

-		int policy = Integer.parseInt(policyString);

-

-		// confguration site

-		configSite = (ConfigurationSite) SiteManager.createConfigurationSite(site, policy);

-

-		// install

-		String installString = attributes.getValue("install");

-		boolean installable = installString.trim().equalsIgnoreCase("true") ? true : false;

-		configSite.setInstallSite(installable);

-

-		// add to install configuration

-		config.addConfigSite(configSite);

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("End process config site url:" + urlString + " policy:" + policyString + " install:" + installString);

-		}

-

-	}

-

-	/** 

-	 * process the Feature info

-	 */

-	private void processFeature(Attributes attributes) throws MalformedURLException, CoreException {

-

-		// url

-		URL url = UpdateManagerUtils.getURL(configSite.getSite().getURL(), attributes.getValue("url"), null);

-		

-		// configured ?

-		String configuredString = attributes.getValue("configured");

-		boolean configured = configuredString.trim().equalsIgnoreCase("true")?true:false;

-

-		if (url != null) {

-			//IFeatureReference ref = ((Site) configSite.getSite()).getFeatureReferences(url);

-			IFeatureReference ref = new FeatureReference(((Site) configSite.getSite()),url);

-			if (ref != null)

-				if (configured){

-					((ConfigurationSite)configSite).addFeatureReference(ref);

-					((ConfigurationPolicy)configSite.getConfigurationPolicy()).configure(ref);					

-				}

-				else

-					((ConfigurationPolicy)configSite.getConfigurationPolicy()).unconfigure(ref);

-

-			// DEBUG:		

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-				UpdateManagerPlugin.getPlugin().debug("End Processing Feature Tag: url:" + url.toExternalForm());

-			}

-

-		} else {

-			IStatus status = new Status(IStatus.WARNING, UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), IStatus.OK, "FeatureReference doesn\'t have a URL", null);

-			UpdateManagerPlugin.getPlugin().getLog().log(status);

-		}

-

-	}

-

-	/** 

-	 * process the Activity info

-	 */

-	private void processActivity(Attributes attributes) throws MalformedURLException {

-

-		// action

-		String actionString = attributes.getValue("action");

-		int action = Integer.parseInt(actionString);

-

-		// create

-		ConfigurationActivity activity = new ConfigurationActivity(action);

-

-		// label

-		String label = attributes.getValue("label");

-		if (label != null)

-			activity.setLabel(label);

-

-		// date

-		String dateString = attributes.getValue("date");

-		Date date = new Date(Long.parseLong(dateString));

-		activity.setDate(date);

-

-		// status

-		String statusString = attributes.getValue("status");

-		int status = Integer.parseInt(statusString);

-		activity.setStatus(status);

-		

-		config.addActivity(activity);

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("End Processing Activity: action:" + actionString + " label: " + label + " date:" + dateString + " status" + statusString);

-		}

-

-	}

-

-	/** 

-	 * process the Config info

-	 */

-	private void processConfig(Attributes attributes) {

-

-		// date

-		long date = Long.parseLong(attributes.getValue("date"));

-		config.setCreationDate(new Date(date));

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("End Processing Config Tag: date:" + date);

-		}

-

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java
deleted file mode 100644
index 801c194..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.eclipse.update.internal.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.File;

-import java.lang.reflect.Constructor;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.HashMap;

-import java.util.Map;

-

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

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

-

-/**

- * 

- */

-

-public class InternalSiteManager {

-

-	private static ISite TEMP_SITE;

-	public static final String TEMP_NAME = "update_tmp";

-

-	private Map sites;

-	private Map sitesTypes;

-	private static InternalSiteManager inst;

-	public static ILocalSite localSite;

-

-	private static void init() {

-		inst = new InternalSiteManager();

-		inst.initVariables();

-	}

-

-	private void initVariables() {

-		// sites

-

-		// sites types

-		sitesTypes = new HashMap();

-		sitesTypes.put("http", "org.eclipse.update.internal.core.SiteURL");

-		sitesTypes.put("file", "org.eclipse.update.internal.core.SiteFile");

-	}

-

-	/**

-	 * Returns the LocalSite i.e the different sites

-	 * the user has access to (either read only or read write)

-	 */

-	public static ILocalSite getLocalSite() throws CoreException {

-		if (localSite == null)

-			localSite = new SiteLocal();

-		return localSite;

-	}

-

-	/** 

-	 * Returns an ISite based on teh protocol of the URL

-	 * If the Site has a different Type/Site Handler not known up to no,

-	 * it will be discovered when parsing the site.xml file.

-	 */

-	public static ISite getSite(URL siteURL) throws CoreException {

-		ISite site = null;

-		if (inst == null)

-			init();

-		String protocol = siteURL.getProtocol();

-		String clazz = (String) inst.getSitesTypes().get(protocol);

-		if (clazz != null) {

-			try {

-				Class siteClass = Class.forName(clazz);

-				Class classArgs[] = { siteURL.getClass()};

-				Constructor constructor = siteClass.getConstructor(classArgs);

-				Object objArgs[] = { siteURL };

-				site = (ISite) constructor.newInstance(objArgs);

-

-			} catch (Exception e) {

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "cannot create an instance of the Site Object", e);

-				throw new CoreException(status);

-			}

-		} else {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "The protocol of the URL is not recognized", null);

-			throw new CoreException(status);

-		}

-		return site;

-	}

-

-	/**

-	 * return the local site where the feature will be temporary transfered

-	 */

-	public static ISite getTempSite() throws CoreException {

-		if (TEMP_SITE == null) {

-			try {

-				String tempDir = System.getProperty("java.io.tmpdir");

-				if (!tempDir.endsWith(File.separator))

-					tempDir += File.separator;

-				TEMP_SITE = new SiteFile(new URL("file", null, tempDir + TEMP_NAME + '/')); // URL must end with '/' if they refer to a path/directory

-			} catch (MalformedURLException e) {

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Cannot create Temporary Site", e);

-				throw new CoreException(status);

-			}

-		}

-		return TEMP_SITE;

-	}

-	/**

-	 * Gets the sites

-	 * @return Returns a Map

-	 */

-	public Map getSites() {

-		return sites;

-	}

-	/**

-	 * Sets the sites

-	 * @param sites The sites to set

-	 */

-	public void setSites(Map sites) {

-		this.sites = sites;

-	}

-

-	/**

-	 * Gets the sitesTypes

-	 * @return Returns a Map

-	 */

-	public Map getSitesTypes() {

-		return sitesTypes;

-	}

-	/**

-	 * Sets the sitesTypes

-	 * @param sitesTypes The sitesTypes to set

-	 */

-	public void setSitesTypes(Map sitesTypes) {

-		this.sitesTypes = sitesTypes;

-	}

-

-	/**

-	 * Creates a new site on the file system

-	 * This is the only Site we can create.

-	 * 

-	 * @param siteLocation

-	 * @throws CoreException

-	 */

-	public static ISite createSite(File siteLocation) throws CoreException {

-		Site site = null;

-		if (siteLocation != null) {

-			try {

-				URL siteURL = new URL("file", null, siteLocation.getAbsolutePath());

-				site = (Site) getSite(siteURL);

-				site.save();

-			} catch (MalformedURLException e) {

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "cannot create a URL from:"+siteLocation.getAbsolutePath(), e);

-				throw new CoreException(status);

-			}

-		}

-		return site;

-	}

-

-	/**

-	 * Creates a Configuration Site for an  ISite

-	 * The policy is from <code> org.eclipse.core.boot.IPlatformConfiguration</code>

-	 */

-	public static IConfigurationSite createConfigurationSite(ISite site, int policy) {

-		return new ConfigurationSite(site, createConfigurationPolicy(policy));

-	}

-	

-	/**

-	 * Creates a Configuration policy

-	 * The policy is from <code> org.eclipse.core.boot.IPlatformConfiguration</code>

-	 */

-	public static IConfigurationPolicy createConfigurationPolicy(int policy){

-		return new ConfigurationPolicy(policy);

-	}

-	

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ListenersList.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ListenersList.java
deleted file mode 100644
index 138c84e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ListenersList.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.eclipse.update.internal.core;

-

-/*

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

- * All Rights Reserved.

- */

-

-/**

- * This class is used to maintain a list of listeners, and

- * is used in the implementations of several classes within JFace

- * which allow you to register listeners of various kinds.

- * It is a fairly lightweight object, occupying minimal space when

- * no listeners are registered.

- * <p>

- * Note that the <code>add</code> method checks for and eliminates 

- * duplicates based on identity (not equality).  Likewise, the

- * <code>remove</code> method compares based on identity.

- * </p>

- * <p>

- * Use the <code>getListeners</code> method when notifying listeners.

- * Note that no garbage is created if no listeners are registered.

- * The recommended code sequence for notifying all registered listeners

- * of say, <code>FooListener.eventHappened</code>, is:

- * <pre>

- * Object[] listeners = myListenerList.getListeners();

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

- *    ((FooListener) listeners[i]).eventHappened(event);

- * }

- * </pre>

- * </p>

- */

-

-public class ListenersList {

-	/**

-	 * The initial capacity of the list. Always >= 1.

-	 */

-	private int capacity;

-

-	/**

-	 * The current number of listeners.

-	 * Maintains invariant: 0 <= size <= listeners.length.

-	 */

-	private int size;

-

-	/**

-	 * The list of listeners.  Initially <code>null</code> but initialized

-	 * to an array of size capacity the first time a listener is added.

-	 * Maintains invariant: listeners != null IFF size != 0

-	 */

-	private Object[] listeners = null;

-

-	/**

-	 * The empty array singleton instance, returned by getListeners()

-	 * when size == 0.

-	 */

-	private static final Object[] EmptyArray = new Object[0];

-/**

- * Creates a listener list with an initial capacity of 3.

- */

-public ListenersList() {

-	this(3);

-}

-/**

- * Creates a listener list with the given initial capacity.

- *

- * @param capacity the number of listeners which this list can initially accept 

- *    without growing its internal representation; must be at least 1

- */

-public ListenersList(int capacity) {

-	Assert.isTrue(capacity >= 1);

-	this.capacity = capacity;

-}

-/**

- * Adds the given listener to this list. Has no effect if an identical listener

- * is already registered.

- *

- * @param listener the listener

- */

-public void add(Object listener) {

-	Assert.isNotNull(listener);

-	if (size == 0) {

-		listeners = new Object[capacity];

-	} else {

-	    // check for duplicates using identity

-		for (int i = 0; i < size; ++i) {

-			if (listeners[i] == listener) {

-				return;

-			}

-		}

-		// grow array if necessary

-		if (size == listeners.length) {

-			System.arraycopy(listeners, 0, listeners = new Object[size * 2 + 1], 0, size);

-		}

-	}

-	listeners[size++] = listener;

-}

-/**

- * Returns an array containing all the registered listeners.

- * The resulting array is unaffected by subsequent adds or removes.

- * If there are no listeners registered, the result is an empty array

- * singleton instance (no garbage is created).

- * Use this method when notifying listeners, so that any modifications

- * to the listener list during the notification will have no effect on the

- * notification itself.

- *

- * @return the list of registered listeners

- */

-public Object[] getListeners() {

-	if (size == 0)

-		return EmptyArray;

-	Object[] result = new Object[size];

-	System.arraycopy(listeners, 0, result, 0, size);

-	return result;

-}

-/**

- * Returns whether this listener list is empty.

- *

- * @return <code>true</code> if there are no registered listeners, and

- *   <code>false</code> otherwise

- */

-public boolean isEmpty() {

-	return size == 0;

-}

-/**

- * Removes the given listener from this list. Has no effect if an identical

- * listener was not already registered.

- *

- * @param listener the listener

- */

-public void remove(Object listener) {

-	Assert.isNotNull(listener);

-	for (int i = 0; i < size; ++i) {

-		if (listeners[i] == listener) {

-			if (size == 1) {

-				listeners = null;

-				size = 0;

-			}

-			else {

-				System.arraycopy(listeners, i + 1, listeners, i, --size - i);

-				listeners[size] = null;

-			}

-			return;

-		}

-	}

-}

-/**

- * Returns the number of registered listeners.

- *

- * @return the number of registered listeners

- */

-public int size() {

-	return size;

-}

-}

-	

-

-

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PluginEntry.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PluginEntry.java
deleted file mode 100644
index 2968797..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PluginEntry.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

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

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

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

-

-

-public class PluginEntry implements IPluginEntry {

-	

-	private boolean fragment = false;

-	private IPluginContainer container;

-	private VersionedIdentifier identifier;

-	private int downloadSize ;

-	private int installSize;

-	private String os;

-	private String ws;

-	private String nl;

-	

-	/**

-	 * Constructor

-	 */

-	public PluginEntry(VersionedIdentifier identifier) {

-		this.identifier = identifier;

-	}

-	

-	/**

-	 * Constructor

-	 */

-	public PluginEntry(String id, String ver) {

-		this(new VersionedIdentifier(id,ver));

-	}

-

-

-	/**

-	 * @see IPluginEntry#isFragment()

-	 */

-	public boolean isFragment() {

-		return fragment;

-	}

-

-

-	/**

-	 * @see IPluginEntry#getContainer()

-	 */

-	public IPluginContainer getContainer() {

-		return container;

-	}

-

-

-	/**

-	 * @see IPluginEntry#getIdentifier()

-	 */

-	public VersionedIdentifier getIdentifier() {

-		return identifier;

-	}

-

-

-	/**

-	 * Sets the container

-	 * @param container The container to set

-	 */

-	public void setContainer(IPluginContainer container) {

-		this.container = container;

-	}

-

-

-	/**

-	 * Sets the fragment

-	 * @param fragment The fragment to set

-	 */

-	public void setFragment(boolean fragment) {

-		this.fragment = fragment;

-	}

-

-

-	/**

-	 * Gets the downloadSize

-	 * @return Returns a int

-	 */

-	public int getDownloadSize() {

-		return downloadSize;

-	}

-	/**

-	 * Sets the downloadSize

-	 * @param downloadSize The downloadSize to set

-	 */

-	public void setDownloadSize(int downloadSize) {

-		this.downloadSize = downloadSize;

-	}

-

-

-	/**

-	 * Gets the installSize

-	 * @return Returns a int

-	 */

-	public int getInstallSize() {

-		return installSize;

-	}

-	/**

-	 * Sets the installSize

-	 * @param installSize The installSize to set

-	 */

-	public void setInstallSize(int installSize) {

-		this.installSize = installSize;

-	}

-

-

-	/**

-	 * @see IPluginEntry#getOS()

-	 */

-	public String getOS() {

-		return null;

-	}

-

-

-	/**

-	 * @see IPluginEntry#getWS()

-	 */

-	public String getWS() {

-		return null;

-	}

-

-

-	/**

-	 * @see IPluginEntry#getNL()

-	 */

-	public String getNL() {

-		return null;

-	}

-

-/**

-	 * Sets the nl

-	 * @param nl The nl to set

-	 */

-	public void setNL(String nl) {

-		this.nl = nl;

-	}

-	

-	/**

-	 * Sets the os

-	 * @param os The os to set

-	 */

-	public void setOS(String os) {

-		this.os = os;

-	}

-	

-	/**

-	 * Sets the ws

-	 * @param ws The ws to set

-	 */

-	public void setWS(String ws) {

-		this.ws = ws;

-	}

-

-}

-

-

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Site.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Site.java
deleted file mode 100644
index e4bf5b8..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Site.java
+++ /dev/null
@@ -1,510 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.*;

-import java.net.URL;

-import java.net.URLClassLoader;

-import java.util.*;

-

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

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

-

-public abstract class Site implements ISite, IWritable {

-

-	/**

-	 * default path under the site where plugins will be installed

-	 */

-	public static final String DEFAULT_PLUGIN_PATH = "plugins/";

-	/**

-	 * default path under the site where plugins will be installed

-	 */

-	//FIXME: fragment

-	public static final String DEFAULT_FRAGMENT_PATH = "fragments/";

-

-	/**

-	 * default path, under site, where featuresConfigured will be installed

-	 */

-	public static final String DEFAULT_FEATURE_PATH = "features/";

-

-	public static final String SITE_FILE = "site";

-	public static final String SITE_XML = SITE_FILE + ".xml";

-	private boolean isManageable = false;

-	private boolean isInitialized = false;

-	private SiteParser parser;

-

-	/**

-	 * the tool will create the directories on the file 

-	 * system if needed.

-	 */

-	public static boolean CREATE_PATH = true;

-

-	private ListenersList listeners = new ListenersList();

-	private URL siteURL;

-	private URL infoURL;

-	private List features;

-	private Set categories;

-	private List archives;

-

-	/**

-	 * Constructor for AbstractSite

-	 */

-	public Site(URL siteReference) throws CoreException {

-		super();

-		this.siteURL = siteReference;

-		initializeSite();

-	}

-

-	/**

-	 * Initializes the site by reading the site.xml file

-	 * 

-	 */

-	private void initializeSite() throws CoreException {

-		try {

-			URL siteXml = new URL(siteURL, SITE_XML);

-			parser = new SiteParser(siteXml.openStream(), this);

-			isManageable = true;

-

-		} catch (FileNotFoundException e) {

-			//attempt to parse the site if possible

-			parseSite();

-			// log not manageable site

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {

-				UpdateManagerPlugin.getPlugin().debug(siteURL.toExternalForm() + " is not manageable by Update Manager: Couldn't find the site.xml file.");

-			}

-		} catch (Exception e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error during parsing of the site XML", e);

-			throw new CoreException(status);

-		} finally {

-			isInitialized = true;

-		}

-	}

-

-	/**

-	 * Saves the site into the site.xml

-	 */

-	public void save() throws CoreException {

-		File file = new File(getURL().getFile() + SITE_XML);

-		try {

-			PrintWriter fileWriter = new PrintWriter(new FileOutputStream(file));

-			Writer writer = new Writer();

-			writer.writeSite(this, fileWriter);

-			fileWriter.close();

-		} catch (FileNotFoundException e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Cannot save site into " + file.getAbsolutePath(), e);

-			throw new CoreException(status);

-		}

-	}

-

-	/**

-	 * Logs that an attempt to read a non initialize variable has been made

-	 */

-	private void logNotInitialized() {

-		Exception trace = new Exception("Attempt to read uninitialized variable");

-		String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-		IStatus status = new Status(IStatus.WARNING, id, IStatus.OK, "the program is reading a variable of Site before loading it", trace);

-		UpdateManagerPlugin.getPlugin().getLog().log(status);

-	}

-

-	/**

-	 * @see ISite#addSiteChangedListener(ISiteChangedListener)

-	 */

-	public void addSiteChangedListener(ISiteChangedListener listener) {

-		synchronized (listeners) {

-			listeners.add(listener);

-		}

-	}

-

-	/**

-	 * @see ISite#removeSiteChangedListener(ISiteChangedListener)

-	 */

-	public void removeSiteChangedListener(ISiteChangedListener listener) {

-		synchronized (listeners) {

-			listeners.remove(listener);

-		}

-	}

-

-	/**

-	 * @see ISite#install(IFeature, IProgressMonitor)

-	 */

-	public IFeatureReference install(IFeature sourceFeature, IProgressMonitor monitor) throws CoreException {

-		// should start Unit Of Work and manage Progress Monitor

-		Feature localFeature = createExecutableFeature(sourceFeature);

-		((Feature) sourceFeature).install(localFeature, monitor);

-		IFeatureReference localReference = new FeatureReference(this, localFeature.getURL());			

-		this.addFeatureReference(localReference);

-

-		// notify listeners

-		Object[] siteListeners = listeners.getListeners();

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

-			((ISiteChangedListener) siteListeners[i]).featureInstalled(localFeature);

-		}

-		return localReference;

-	}

-

-	/**

-	 * @see ISite#remove(IFeature, IProgressMonitor)

-	 */

-	public void remove(IFeature feature, IProgressMonitor monitor) throws CoreException {

-

-		// notify listeners

-		ISiteChangedListener[] siteListeners = (ISiteChangedListener[]) listeners.getListeners();

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

-			siteListeners[i].featureUninstalled(feature);

-		}

-	}

-

-	/**

-	 * 

-	 */

-	public abstract Feature createExecutableFeature(IFeature sourceFeature) throws CoreException;

-

-	/**

-	 * store Feature files/ Fetaures info into the Site

-	 */

-	protected abstract void storeFeatureInfo(VersionedIdentifier featureIdentifier, String contentKey, InputStream inStream) throws CoreException;

-

-	/**

-	 * return the URL of the archive ID

-	 */

-	public abstract URL getURL(String archiveID) throws CoreException;

-	/**

-	 * returns the default prefered feature for this site

-	 */

-	public abstract IFeature getDefaultFeature(URL featureURL) throws CoreException;

-

-	/**

-	 * parse the physical site to initialize the site object

-	 * @throws CoreException

-	 */

-	protected abstract void parseSite() throws CoreException;

-

-	/**

-	 * returns true if we need to optimize the install by copying the 

-	 * archives in teh TEMP directory prior to install

-	 * Default is true

-	 */

-	public boolean optimize() {

-		return true;

-	}

-

-	/**

-	 * Gets the siteURL

-	 * @return Returns a URL

-	 */

-	public URL getURL() {

-		return siteURL;

-	}

-

-	/**

-	 * return the appropriate resource bundle for this site

-	 */

-	public ResourceBundle getResourceBundle() throws IOException, CoreException {

-		ResourceBundle bundle = null;

-		try {

-			ClassLoader l = new URLClassLoader(new URL[] { this.getURL()}, null);

-			bundle = ResourceBundle.getBundle(SITE_FILE, Locale.getDefault(), l);

-		} catch (MissingResourceException e) {

-			//ok, there is no bundle, keep it as null

-			//DEBUG:

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {

-				UpdateManagerPlugin.getPlugin().debug(e.getLocalizedMessage() + ":" + this.getURL().toExternalForm());

-			}

-		}

-		return bundle;

-	}

-

-	/**

-	 * Gets the featuresConfigured

-	 * @return Returns a IFeatureReference[]

-	 */

-	public IFeatureReference[] getFeatureReferences() {

-		IFeatureReference[] result = new IFeatureReference[0];

-		if (!(features == null || features.isEmpty())) {

-			result = new IFeatureReference[features.size()];

-			features.toArray(result);

-		}

-		return result;

-	}

-

-	/**

-	 * adds a feature

-	 * The feature is considered already installed. It does not install it.

-	 * @param feature The feature to add

-	 */

-	public void addFeatureReference(IFeatureReference feature) {

-		if (features == null) {

-			features = new ArrayList(0);

-		}

-		this.features.add(feature);

-	}

-

-	/**

-	 * @see ISite#getArchives()

-	 */

-	public IInfo[] getArchives() {

-		IInfo[] result = new IInfo[0];

-		if (archives == null && !isInitialized)

-			logNotInitialized();

-		if (!(archives == null || archives.isEmpty())) {

-			result = new IInfo[archives.size()];

-			archives.toArray(result);

-		}

-		return result;

-	}

-

-	/**

-	 * return the URL associated with the id of teh archive for this site

-	 * return null if the archiveId is null, empty or 

-	 * if teh list of archives on the site is null or empty

-	 * of if there is no URL associated with the archiveID for this site

-	 */

-	public URL getArchiveURLfor(String archiveId) {

-		URL result = null;

-		boolean found = false;

-

-		if (!(archiveId == null || archiveId.equals("") || archives == null || archives.isEmpty())) {

-			Iterator iter = archives.iterator();

-			IInfo info;

-			while (iter.hasNext() && !found) {

-				info = (IInfo) iter.next();

-				if (archiveId.trim().equalsIgnoreCase(info.getText())) {

-					result = info.getURL();

-					found = true;

-				}

-			}

-		}

-

-		//DEBUG:

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_INSTALL) {

-			String debugString = "Searching archive ID:" + archiveId + " in Site:" + getURL().toExternalForm() + "...";

-			if (found) {

-				debugString += "found , pointing to:" + result.toExternalForm();

-			} else {

-				debugString += "NOT FOUND";

-			}

-			UpdateManagerPlugin.getPlugin().debug(debugString);

-		}

-

-		return result;

-	}

-

-	/**

-	 * adds an archive

-	 * @param archive The archive to add

-	 */

-	public void addArchive(IInfo archive) {

-		if (archives == null) {

-			archives = new ArrayList(0);

-		}

-		if (getArchiveURLfor(archive.getText()) != null) {

-			// DEBUG:		

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {

-				UpdateManagerPlugin.getPlugin().debug("The Archive with ID:" + archive.getText() + " already exist on the site.");

-			}

-		} else {

-			this.archives.add(archive);

-		}

-	}

-

-	/**

-	 * Sets the archives

-	 * @param archives The archives to set

-	 */

-	public void setArchives(IInfo[] _archives) {

-		if (_archives != null) {

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

-				this.addArchive(_archives[i]);

-			}

-		}

-	}

-

-	/**

-	 * @see ISite#getInfoURL()

-	 */

-	public URL getInfoURL() {

-		if (isManageable) {

-			if (infoURL == null && !isInitialized)

-				logNotInitialized();

-		}

-		return infoURL;

-	}

-

-	/**

-	 * Sets the infoURL

-	 * @param infoURL The infoURL to set

-	 */

-	public void setInfoURL(URL infoURL) {

-		this.infoURL = infoURL;

-	}

-

-	/**

-	 * @see ISite#getCategories()

-	 */

-	public ICategory[] getCategories() {

-		ICategory[] result = new ICategory[0];

-		if (isManageable) {

-			if (categories == null && !isInitialized)

-				logNotInitialized();

-			if (!categories.isEmpty()) {

-				result = new ICategory[categories.size()];

-				categories.toArray(result);

-			}

-		}

-		return result;

-	}

-

-	/**

-	 * adds a category

-	 * @param category The category to add

-	 */

-	public void addCategory(ICategory category) {

-		if (this.categories == null) {

-			this.categories = new TreeSet(Category.getComparator());

-		}

-		this.categories.add(category);

-	}

-

-	/**

-	 * returns the associated ICategory

-	 */

-	public ICategory getCategory(String key) {

-		ICategory result = null;

-		boolean found = false;

-

-		if (isManageable) {

-			if (categories == null)

-				logNotInitialized();

-			Iterator iter = categories.iterator();

-			ICategory currentCategory;

-			while (iter.hasNext() && !found) {

-				currentCategory = (ICategory) iter.next();

-				if (currentCategory.getName().equals(key)) {

-					result = currentCategory;

-					found = true;

-				}

-			}

-		}

-

-		//DEBUG:

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS && !found) {

-			UpdateManagerPlugin.getPlugin().debug("Cannot find:" + key + " category in site:" + this.getURL().toExternalForm());

-			if (!isManageable)

-				UpdateManagerPlugin.getPlugin().debug("The Site is not manageable. Does not contain ste.xml");

-			if (categories == null || categories.isEmpty())

-				UpdateManagerPlugin.getPlugin().debug("The Site does not contain any categories.");

-		}

-

-		return result;

-	}

-

-	/*

-	 * @see IWritable#write(int, PrintWriter)

-	 */

-	public void write(int indent, PrintWriter w) {

-

-		String gap = "";

-		for (int i = 0; i < indent; i++)

-			gap += " ";

-		String increment = "";

-		for (int i = 0; i < IWritable.INDENT; i++)

-			increment += " ";

-

-		w.print(gap + "<" + SiteParser.SITE + " ");

-		// FIXME: site type to implement

-		// 

-		// Site URL

-		String URLInfoString = null;

-		if (getInfoURL() != null) {

-			URLInfoString = UpdateManagerUtils.getURLAsString(this.getURL(), getInfoURL());

-			w.print("url=\"" + Writer.xmlSafe(URLInfoString) + "\"");

-		}

-		w.println(">");

-		w.println("");

-

-		IFeatureReference[] refs = getFeatureReferences();

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

-			FeatureReference element = (FeatureReference) refs[index];

-			element.write(indent, w);

-		}

-		w.println("");

-

-		IInfo[] archives = getArchives();

-		for (int index = 0; index < archives.length; index++) {

-			IInfo element = (IInfo) archives[index];

-			URLInfoString = UpdateManagerUtils.getURLAsString(this.getURL(), element.getURL());

-			w.println(gap + "<" + SiteParser.ARCHIVE + " id=\"" + Writer.xmlSafe(element.getText()) + "\" url=\"" + Writer.xmlSafe(URLInfoString) + "\"/>");

-		}

-		w.println("");

-

-		ICategory[] categories = getCategories();

-		for (int index = 0; index < categories.length; index++) {

-			Category element = (Category) categories[index];

-			w.println(gap + "<" + SiteParser.CATEGORY_DEF + " label=\"" + Writer.xmlSafe(element.getLabel()) + "\" name=\"" + Writer.xmlSafe(element.getName()) + "\">");

-

-			IInfo info = element.getDescription();

-			if (info != null) {

-				w.print(gap + increment + "<" + SiteParser.DESCRIPTION + " ");

-				URLInfoString = null;

-				if (info.getURL() != null) {

-					URLInfoString = UpdateManagerUtils.getURLAsString(this.getURL(), info.getURL());

-					w.print("url=\"" + Writer.xmlSafe(URLInfoString) + "\"");

-				}

-				w.println(">");

-				if (info.getText() != null) {

-					w.println(gap + increment + increment + Writer.xmlSafe(info.getText()));

-				}

-				w.print(gap + increment + "</" + SiteParser.DESCRIPTION + ">");

-			}

-			w.println(gap + "</" + SiteParser.CATEGORY_DEF + ">");

-

-		}

-		w.println("");

-		// end

-		w.println("</" + SiteParser.SITE + ">");

-	}

-

-	/*

-	 * @see IPluginContainer#getPluginEntries()

-	 */

-	public IPluginEntry[] getPluginEntries() {

-		return null;

-	}

-

-	/*

-	 * @see IPluginContainer#getPluginEntryCount()

-	 */

-	public int getPluginEntryCount() {

-		return 0;

-	}

-

-	/*

-	 * @see IPluginContainer#getDownloadSize(IPluginEntry)

-	 */

-	public int getDownloadSize(IPluginEntry entry) {

-		return 0;

-	}

-

-	/*

-	 * @see IPluginContainer#getInstallSize(IPluginEntry)

-	 */

-	public int 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 {

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFile.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFile.java
deleted file mode 100644
index 9b7206c..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFile.java
+++ /dev/null
@@ -1,341 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.*;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.ArrayList;

-import java.util.List;

-import java.util.zip.ZipEntry;

-import java.util.zip.ZipException;

-import java.util.zip.ZipFile;

-

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

-import org.eclipse.core.runtime.model.*;

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

-

-/**

- * Site on the File System

- */

-public class SiteFile extends SiteURL {

-	

-	private String path;

-	

-	public static final String INSTALL_FEATURE_PATH = "install/features/";

-

-	/**

-	 * Constructor for FileSite

-	 */

-	public SiteFile(URL siteReference) throws CoreException {

-		super(siteReference);

-	}

-

-	/**

-	 * @see AbstractSite#createExecutableFeature(IFeature)

-	 */

-	public Feature createExecutableFeature(IFeature sourceFeature) throws CoreException {

-		Feature result =  new FeatureExecutable(sourceFeature, this);

-		String featurePath = getFeaturePath(sourceFeature.getIdentifier());

-		featurePath += featurePath.endsWith("/") ? "" : "/";		

-		try {

-			URL newLocalURL = new URL("file",null,featurePath);

-			result.setURL(newLocalURL);

-		} catch (MalformedURLException e){

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error creating file new Local URL for feature:" + featurePath, e);

-				throw new CoreException(status);			

-		}

-		return result;

-	}

-

-	/**

-	 * @see IPluginContainer#store(IPluginEntry, String, InputStream)

-	 */

-	public void store(IPluginEntry pluginEntry, String contentKey, InputStream inStream) throws CoreException {

-

-		String path = UpdateManagerUtils.getPath(getURL());

-

-		// FIXME: fragment code

-		String pluginPath = null;

-		if (pluginEntry.isFragment()) {

-			pluginPath = path + DEFAULT_FRAGMENT_PATH + pluginEntry.getIdentifier().toString();

-		} else {

-			pluginPath = path + DEFAULT_PLUGIN_PATH + pluginEntry.getIdentifier().toString();

-		}

-		pluginPath += pluginPath.endsWith(File.separator) ? contentKey : File.separator + contentKey;

-

-		try {

-			UpdateManagerUtils.copyToLocal(inStream, pluginPath, null);

-

-		} catch (IOException e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error creating file:" + pluginPath, e);

-			throw new CoreException(status);

-		} finally {

-			try {

-				// close stream

-				inStream.close();

-			} catch (Exception e) {}

-		}

-	}

-

-	/**

-	 * store Feature files

-	 * Store the inputStream into a file named contentKey in the install feature path of the feature

-	 */

-	public void storeFeatureInfo(VersionedIdentifier featureIdentifier, String contentKey, InputStream inStream) throws CoreException {

-

-		String featurePath = getFeaturePath(featureIdentifier);

-		featurePath += featurePath.endsWith(File.separator) ? contentKey : File.separator+contentKey;		

-		try {

-			UpdateManagerUtils.copyToLocal(inStream, featurePath, null);

-		} catch (IOException e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error creating file:" + featurePath, e);

-			throw new CoreException(status);

-		} finally {

-			try {

-				// close stream

-				inStream.close();

-			} catch (Exception e) {}

-		}

-

-	}

-

-	private String getFeaturePath(VersionedIdentifier featureIdentifier) {

-		String path = UpdateManagerUtils.getPath(getURL());

-		String featurePath = path + INSTALL_FEATURE_PATH + featureIdentifier.toString();

-		return featurePath;

-	}

-

-	/*

-	 * @see Site#getDefaultFeature(URL)

-	 */

-	public IFeature getDefaultFeature(URL featureURL) throws CoreException {

-		return new FeatureExecutable(featureURL, this);

-	}

-

-	/**

-	 * We do not need to optimize the download

-	 * As the archives are already available on the file system

-	 */

-	public boolean optimize() {

-		return false;

-	}

-	

-	

-

-	/**

-	 * Method parseSite.

-	 */

-	protected void parseSite() throws CoreException {

-

-		String path = UpdateManagerUtils.getPath(getURL());

-		String pluginPath = path + DEFAULT_PLUGIN_PATH;

-		String fragmentPath = path + DEFAULT_FRAGMENT_PATH;

-		PluginRegistryModel model = new PluginRegistryModel();		

-

-		//PACKAGED

-		parsePackagedFeature(); // in case it contains JAR files

-

-		parsePackagedPlugins(pluginPath);

-		

-		parsePackagedPlugins(fragmentPath);		

-

-		// EXECUTABLE	

-		parseExecutableFeature();

-		

-		model = parsePlugins(pluginPath);

-		addParsedPlugins(model.getPlugins());

-

-		// FIXME: fragments

-		model = parsePlugins(fragmentPath);

-		addParsedPlugins(model.getFragments());

-

-	}

-	

-	/**

-	 * Method parseFeature.

-	 * @throws CoreException

-	 */

-	private void parseExecutableFeature() throws CoreException {

-		

-		String path = UpdateManagerUtils.getPath(getURL());

-		String featurePath = path + INSTALL_FEATURE_PATH;

-		

-		

-		File featureDir = new File(featurePath);

-		if (featureDir.exists()) {

-			String[] dir;

-			FeatureReference featureRef;

-			URL featureURL;

-			String newFilePath = null;

-		

-			try {

-				// handle teh installed featuresConfigured under featuresConfigured subdirectory

-				dir = featureDir.list();

-				for (int index = 0; index < dir.length; index++) {

-					// teh URL must ends with '/' for teh bundle to be resolved

-					newFilePath = featurePath + dir[index] + "/";

-					featureURL = new URL("file", null, newFilePath);

-					featureRef = new FeatureReference(this, featureURL);

-					addFeatureReference(featureRef);

-				}

-			} catch (MalformedURLException e) {

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error creating file URL for:" + newFilePath, e);

-				throw new CoreException(status);

-			}

-		}

-	}

-	

-		/**

-	 * Method parseFeature.

-	 * @throws CoreException

-	 */

-	private void parsePackagedFeature() throws CoreException {

-		

-		String path = UpdateManagerUtils.getPath(getURL());

-		String featurePath = path + DEFAULT_FEATURE_PATH;

-		

-		// FEATURES

-		File featureDir = new File(featurePath);

-		if (featureDir.exists()) {

-			String[] dir;

-			FeatureReference featureRef;

-			URL featureURL;

-			String newFilePath = null;

-		

-			try {

-				// handle teh installed featuresConfigured under featuresConfigured subdirectory

-				dir = featureDir.list(FeaturePackaged.filter);

-				for (int index = 0; index < dir.length; index++) {

-					newFilePath = featurePath + dir[index];

-					featureURL = new URL("file", null, newFilePath);

-					featureRef = new FeatureReference(this, featureURL);

-					addFeatureReference(featureRef);

-				}

-			} catch (MalformedURLException e) {

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error creating file URL for:" + newFilePath, e);

-				throw new CoreException(status);

-			}

-		}

-	}

-	

-	/**

-	 * Method parsePlugins.

-	 * 

-	 * look into each plugin/fragment directory, crack the plugin.xml open (or fragment.xml ???)

-	 * get id and version, calculate URL...	

-	 * 

-	 * @return PluginRegistryModel

-	 * @throws CoreException

-	 */

-	private PluginRegistryModel parsePlugins(String path) throws CoreException {

-		PluginRegistryModel model;

-		String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();		

-		MultiStatus parsingStatus = new MultiStatus(id, IStatus.WARNING, "Error parsing plugin.xml in " + path, new Exception());

-		Factory factory = new Factory(parsingStatus);

-		

-		try {

-			URL pluginURL = new URL("file", null, path);

-			model = Platform.parsePlugins(new URL[] { pluginURL }, factory);

-		} catch (MalformedURLException e) {

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error creating file URL for :" + path, e);

-			throw new CoreException(status);

-		}

-				

-		if (factory.getStatus().getChildren().length != 0) {

-			throw new CoreException(parsingStatus);

-		}

-		

-		return model;

-	}

-

-	/**

-	 * Method addParsedPlugins.

-	 * @param model

-	 * @throws CoreException

-	 */

-	private void addParsedPlugins(PluginModel[] plugins) throws CoreException {

-		

-		String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-		

-		// tranform each Plugin and Fragment in an Archive fro the Site

-		String location = null;

-		try {

-			if (plugins.length > 0) {

-				Info info;

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

-					String pluginID = new VersionedIdentifier(plugins[index].getId(), plugins[index].getVersion()).toString() + FeaturePackaged.JAR_EXTENSION;

-					location = plugins[index].getLocation();

-					URL url = new URL(location);

-					info = new Info(pluginID, url);

-					this.addArchive(info);

-				}

-			}

-		} catch (MalformedURLException e) {

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error creating file URL for plugin:" + location, e);

-			throw new CoreException(status);

-		}

-	}

-

-	private void parsePackagedPlugins(String pluginPath) throws CoreException { 

-			

-		File pluginDir = new File(pluginPath);

-		File file = null;

-		ZipFile zipFile = null;

-		ZipEntry entry = null;

-		String[] dir;	

-		URL pluginURL=null;

-		

-		String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-		PluginRegistryModel registryModel;

-		MultiStatus parsingStatus = new MultiStatus(id, IStatus.WARNING, "Error parsing plugin.xml", new Exception());

-		Factory factory = new Factory(parsingStatus);

-		

-		String tempDir = System.getProperty("java.io.tmpdir");

-		if (!tempDir.endsWith(File.separator)) tempDir += File.separator;

-					

-		try {

-		if (pluginDir.exists()) {

-			dir = pluginDir.list(FeaturePackaged.filter);

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

-				file = new File(pluginPath,dir[i]);

-				zipFile = new ZipFile(file);

-				entry = zipFile.getEntry("plugin.xml");

-				if (entry==null) entry = zipFile.getEntry("fragment.xml"); //FIXME: fragments

-				if (entry!=null){

-					pluginURL=UpdateManagerUtils.copyToLocal(zipFile.getInputStream(entry),tempDir+entry.getName(),null);

-					registryModel = Platform.parsePlugins(new URL[] { pluginURL }, factory);					

-					if (registryModel!=null) {

-						PluginModel[] models = null;

-						if (entry.getName().equals("plugin.xml")){

-							models = registryModel.getPlugins();

-						} else {

-							models = registryModel.getFragments();

-						}

-						for (int index = 0; index < models.length; index++) {

-							// the id is plugins\<pluginid>_<ver> as per the specs

-							String pluginID = Site.DEFAULT_PLUGIN_PATH+new VersionedIdentifier(models[index].getId(), models[index].getVersion()).toString() + FeaturePackaged.JAR_EXTENSION;

-							URL url = new URL("file",null,file.getAbsolutePath());

-							IInfo info = new Info(pluginID, url);

-							this.addArchive(info);

-						}

-					}

-				}

-				zipFile.close();		

-			}	

-		}

-		}

-		//catch (MalformedURLException m){throw new CoreException(new Status(IStatus.ERROR, id, IStatus.OK, "Error accessing plugin.xml in file :" + file, m));}		

-		//catch (ZipException z){throw new CoreException(new Status(IStatus.ERROR, id, IStatus.OK, "Error accessing plugin.xml in file :" + file, z));}		

-		catch (IOException e){ throw new CoreException(new Status(IStatus.ERROR, id, IStatus.OK, "Error accessing plugin.xml in file :" + file, e));}

-		 finally {try {zipFile.close();} catch (Exception e) {}}

-		 

-	}

-	

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteLocal.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteLocal.java
deleted file mode 100644
index 2330ca9..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteLocal.java
+++ /dev/null
@@ -1,331 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.*;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.rmi.server.ExportException;

-import java.util.*;

-

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

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

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

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

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

-import org.xml.sax.SAXException;

-

-/**

- * This class manages the configurations.

- */

-

-public class SiteLocal implements ILocalSite, IWritable {

-

-	private ListenersList listeners = new ListenersList();

-	private String label;

-	private URL location;

-	public static final String SITE_LOCAL_FILE = "LocalSite.xml";

-	public static final String DEFAULT_CONFIG_LABEL = "Default configuration";

-	public static final String DEFAULT_CONFIG_FILE = "DefaultConfig.xml";

-

-	private List configurations;

-	private IInstallConfiguration currentConfiguration;

-

-	/*

-	 * Constructor for LocalSite

-	 */

-	public SiteLocal() throws CoreException {

-		super();

-		initialize();

-	}

-

-	/*

-	 * @see ILocalSite#getCurrentConfiguration()

-	 */

-	public IInstallConfiguration getCurrentConfiguration() {

-		return currentConfiguration;

-	}

-

-	/*

-	 * @see ILocalSite#getConfigurationHistory()

-	 */

-	public IInstallConfiguration[] getConfigurationHistory() {

-		// return the current config as the last one

-		IInstallConfiguration[] result = new IInstallConfiguration[0];

-		if (configurations != null && !configurations.isEmpty()) {

-			result = new IInstallConfiguration[configurations.size()];

-			configurations.toArray(result);

-		}

-		return result;

-	}

-

-	/**

-	 * adds a new configuration to the LocalSite

-	 *  the newly added configuration is teh current one

-	 */

-	public void addConfiguration(IInstallConfiguration config) {

-		if (config != null){

-		if (configurations == null)

-			configurations = new ArrayList(0);

-		configurations.add(config);

-		// FIXME: check if we have to remove a configuration

-

-		// set configuration as current		

-		if (currentConfiguration != null)

-			currentConfiguration.setCurrent(false);

-		config.setCurrent(true);

-		currentConfiguration = config;

-

-		// notify listeners

-		Object[] siteLocalListeners = listeners.getListeners();

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

-			((ILocalSiteChangedListener) siteLocalListeners[i]).currentInstallConfigurationChanged(config);

-		}

-		}

-		

-	}

-	/**

-	 * initialize the configurations from the persistent model.

-	 * The configurations are per user, so we save the data in the 

-	 * user path, not the .metadata of any workspace, so the data

-	 * is shared between the workspaces.

-	 */

-	private void initialize() throws CoreException {

-		

-		URL configXml=null;

-		try {

-			IPlatformConfiguration platformConfig = UpdateManagerUtils.getRuntimeConfiguration();

-			location = platformConfig.getConfigurationLocation();

-			configXml = UpdateManagerUtils.getURL(location, SITE_LOCAL_FILE, null);

-			//if the file exists, parse it			

-			SiteLocalParser parser = new SiteLocalParser(configXml.openStream(), this);

-		}  catch (FileNotFoundException exception) {

-			// file doesn't exist, ok, log it and continue 

-			// log no config

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {

-				UpdateManagerPlugin.getPlugin().debug(location.toExternalForm() + " does not exist, there is no previous state or install history we can recover, we shall use default.");

-			}

-			createDefaultConfiguration();

-			

-			// FIXME: always save ?

-			this.save();

-			

-		} catch (SAXException exception) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Error during parsing of the install config XML:" + location.toExternalForm(), exception);

-			throw new CoreException(status);

-		}catch (MalformedURLException exception) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Cannot create URL from: "+location.toExternalForm() +" & "+SITE_LOCAL_FILE , exception);

-			throw new CoreException(status);

-		}	catch (IOException exception) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Cannot read xml file: "+configXml , exception);

-			throw new CoreException(status);

-		}

-

-	}

-	private void createDefaultConfiguration() throws CoreException {

-		// FIXME: VK: in the first pass, we always return as the only install

-		// site the install tree we are executing from. Once install 

-		// configuration is fully supported, we will return whatever

-		// install sites are part of the local configuration. As default

-		// behavior, if we are executing out of read/write install tree accessible

-		// through the "file:" protocol we will assume it is (one of) the

-		// install sites (ie. does not need to be explicitly configured).

-		try {

-			URL execURL = BootLoader.getInstallURL();

-			ISite site = SiteManager.getSite(execURL);

-			IInstallConfiguration newDefaultConfiguration = cloneCurrentConfiguration(new URL(location, DEFAULT_CONFIG_FILE), DEFAULT_CONFIG_LABEL);

-			addConfiguration(newDefaultConfiguration);			

-

-			// notify listeners

-			Object[] localSiteListeners = listeners.getListeners();

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

-				((ILocalSiteChangedListener) localSiteListeners[i]).currentInstallConfigurationChanged(currentConfiguration);

-			}

-

-			//FIXME: the plugin site may not be read-write

-			//the default is USER_EXCLUDE 

-			ConfigurationSite configSite = (ConfigurationSite) SiteManager.createConfigurationSite(site, IPlatformConfiguration.ISitePolicy.USER_EXCLUDE);

-			configSite.setInstallSite(true);

-			currentConfiguration.addConfigurationSite(configSite);

-

-		} catch (Exception e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Cannot create the Local Site Object", e);

-			throw new CoreException(status);

-		}

-	}

-	/*

-	 * @see ILocalSite#addLocalSiteChangedListener(ILocalSiteChangedListener)

-	 */

-	public void addLocalSiteChangedListener(ILocalSiteChangedListener listener) {

-		synchronized (listeners) {

-			listeners.add(listener);

-		}

-	}

-

-	/*

-	 * @see ILocalSite#removeLocalSiteChangedListener(ILocalSiteChangedListener)

-	 */

-	public void removeLocalSiteChangedListener(ILocalSiteChangedListener listener) {

-		synchronized (listeners) {

-			listeners.add(listener);

-		}

-	}

-

-	/*

-	 * @see ILocalSite#importConfiguration(File)

-	 */

-	public IInstallConfiguration importConfiguration(URL importURL,String label) throws CoreException{

-		InstallConfiguration config = new InstallConfiguration(importURL,label);

-		return config;

-	}

-

-	/**

-	 * Gets the location of the local site.

-	 * @return Returns a URL

-	 */

-	public URL getLocation() {

-		return location;

-	}

-

-	/*

-	 * @see ILocalSite#getLabel()

-	 */

-	public String getLabel() {

-		return label;

-	}

-

-	/**

-	 * Sets the label.

-	 * @param label The label to set

-	 */

-	public void setLabel(String label) {

-		this.label = label;

-	}

-

-	/**

-	 * Saves the site into the config file

-	 */

-	public void save() throws CoreException {

-

-		// Save the current configuration as

-		// the other are already saved

-		 ((InstallConfiguration) currentConfiguration).save();

-		// save the local site

-		if (location.getProtocol().equalsIgnoreCase("file")) {

-			File file = null;

-			try {

-				file = new File(UpdateManagerUtils.getURL(location, SITE_LOCAL_FILE, null).getFile());

-				PrintWriter fileWriter = new PrintWriter(new FileOutputStream(file));

-				Writer writer = new Writer();

-				writer.writeSite(this, fileWriter);

-				fileWriter.close();

-			} catch (FileNotFoundException e) {

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Cannot save site into " + file.getAbsolutePath(), e);

-				throw new CoreException(status);

-			} catch (MalformedURLException e) {

-				String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-				IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Cannot get handle on configuration file " + location.toExternalForm() + " : " + SITE_LOCAL_FILE, e);

-				throw new CoreException(status);

-			}

-		}

-	}

-	/*

-	 * @see IWritable#write(int, PrintWriter)

-	 */

-	public void write(int indent, PrintWriter w) {

-

-		String gap = "";

-		for (int i = 0; i < indent; i++)

-			gap += " ";

-		String increment = "";

-		for (int i = 0; i < IWritable.INDENT; i++)

-			increment += " ";

-

-		w.print(gap + "<" + SiteLocalParser.SITE + " ");

-		if (getLabel() != null) {

-			w.print("label=\"" + Writer.xmlSafe(getLabel()) + "\"");

-		}

-		w.println(">");

-		w.println("");

-

-		// teh last one is teh current configuration

-		IInstallConfiguration[] refs = getConfigurationHistory();

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

-			IInstallConfiguration element = refs[index];

-			if (!element.isCurrent()) {

-				writeConfig(gap + increment, w, element);

-			}

-		}

-		// write current configuration last

-		writeConfig(gap + increment, w, getCurrentConfiguration());

-

-		w.println("");

-		// end

-		w.println("</" + SiteLocalParser.SITE + ">");

-	}

-

-	private void writeConfig(String gap, PrintWriter w, IInstallConfiguration config) {

-		w.print(gap + "<" + SiteLocalParser.CONFIG + " ");

-		String URLInfoString = UpdateManagerUtils.getURLAsString(getLocation(), config.getURL());

-		w.print("url=\"" + Writer.xmlSafe(URLInfoString) + "\" ");

-

-		if (config.getLabel() != null) {

-			w.print("label=\"" + Writer.xmlSafe(config.getLabel()) + "\"");

-		}

-

-		w.println("/>");

-	}

-

-	/*

-	 * @see ILocalSite#createNewCurrentConfiguration(String)

-	 */

-	public IInstallConfiguration cloneCurrentConfiguration(URL newFile, String name) throws CoreException {

-		

-		// save previous current configuration

-		if (getCurrentConfiguration()!=null)	((InstallConfiguration)getCurrentConfiguration()).save();

-		

-		InstallConfiguration result = null;

-		String newFileName = UpdateManagerUtils.getLocalRandomIdentifier(DEFAULT_CONFIG_FILE);

-		try {

-			if (newFile == null)

-				newFile = UpdateManagerUtils.getURL(getLocation(), newFileName, null);

-			Date currentDate = new Date();

-			// pass the date onto teh name

-			if (name == null)	name = DEFAULT_CONFIG_LABEL + currentDate.getTime();

-			result = new InstallConfiguration(getCurrentConfiguration(), newFile, name);

-			// set teh same date in the installConfig

-			result.setCreationDate(currentDate);

-			

-		} catch (MalformedURLException e) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Cannot create a new configuration in:" + newFileName, e);

-			throw new CoreException(status);

-		}

-		return result;

-	}

-

-	/*

-	 * @see ILocalSite#revertTo(IInstallConfiguration)

-	 */

-	public void revertTo(IInstallConfiguration configuration,IProgressMonitor monitor) throws CoreException {

-		

-		// create the activity ?

-		

-		// create a configuration

-		IInstallConfiguration newConfiguration = cloneCurrentConfiguration(null, configuration.getLabel());

-		// process delta

-		// the Configured featuresConfigured are the same as the old configuration

-		// the unconfigured featuresConfigured are the rest...

-		((InstallConfiguration)newConfiguration).revertTo(configuration,monitor);

-

-		// add to the stack which will set up as current

-		addConfiguration(newConfiguration);

-

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteLocalParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteLocalParser.java
deleted file mode 100644
index 7f73de2..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteLocalParser.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.IOException;

-import java.io.InputStream;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.net.URLClassLoader;

-import java.util.Locale;

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

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

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

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

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

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

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

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

-import org.xml.sax.Attributes;

-import org.xml.sax.InputSource;

-import org.xml.sax.SAXException;

-import org.xml.sax.SAXParseException;

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

-

-/**

- * parse the default site.xml

- */

-

-public class SiteLocalParser extends DefaultHandler {

-

-	private SAXParser parser;

-	private InputStream siteStream;

-	private SiteLocal site;

-	private String text;

-	public static final String SITE = "localsite";

-	public static final String CONFIG = "config";

-

-	private ResourceBundle bundle;

-

-	private IFeatureReference feature;

-

-	/**

-	 * Constructor for DefaultSiteParser

-	 */

-	public SiteLocalParser(InputStream siteStream, ILocalSite site) throws IOException, SAXException, CoreException {

-		super();

-		parser = new SAXParser();

-		parser.setContentHandler(this);

-

-		this.siteStream = siteStream;

-		Assert.isTrue(site instanceof SiteLocal);

-		this.site = (SiteLocal) site;

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("Start parsing localsite:" + ((SiteLocal)site).getLocation().toExternalForm());

-		}

-

-		bundle = getResourceBundle();

-

-		parser.parse(new InputSource(this.siteStream));

-	}

-

-	/**

-	 * return the appropriate resource bundle for this sitelocal

-	 */

-	private ResourceBundle getResourceBundle()  throws IOException, CoreException {

-		ResourceBundle bundle = null;

-		try {

-			ClassLoader l = new URLClassLoader(new URL[] {site.getLocation()}, null);

-			bundle = ResourceBundle.getBundle(SiteLocal.SITE_LOCAL_FILE, Locale.getDefault(), l);

-		} catch (MissingResourceException e) {

-			//ok, there is no bundle, keep it as null

-			//DEBUG:

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {

-				UpdateManagerPlugin.getPlugin().debug(e.getLocalizedMessage() + ":" + site.getLocation().toExternalForm());

-			} 

-		}

-		return bundle;

-	}

-

-

-	/**

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

-	 */

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

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName);

-		}

-		try {

-

-			String tag = localName.trim();

-

-			if (tag.equalsIgnoreCase(SITE)) {

-				processSite(attributes);

-				return;

-			}

-

-			if (tag.equalsIgnoreCase(CONFIG)) {

-				processConfig(attributes);

-				return;

-			}

-		} catch (MalformedURLException e) {

-			throw new SAXException("error processing URL. Check the validity of the URLs", e);

-		} catch (CoreException e){

-			throw new SAXException("Error during creation of Config Site:",e);

-		}

-

-	}

-

-	/** 

-	 * process the Site info

-	 */

-	private void processSite(Attributes attributes) throws MalformedURLException {

-		//

-		String info = attributes.getValue("label");

-		info = UpdateManagerUtils.getResourceString(info, bundle);

-		site.setLabel(info);

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("End process Site label:" + info);

-		}

-

-	}

-

-	/** 

-	 * process the Config info

-	 */

-	private void processConfig(Attributes attributes) throws MalformedURLException, CoreException {

-

-		// url

-		URL url = UpdateManagerUtils.getURL(site.getLocation(), attributes.getValue("url"), null);

-		String label = attributes.getValue("label");

-		label = UpdateManagerUtils.getResourceString(label, bundle);

-		InstallConfiguration config = new InstallConfiguration(url,label);

-		// add the config

-		site.addConfiguration(config);

-

-			// DEBUG:		

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-				UpdateManagerPlugin.getPlugin().debug("End Processing Config Tag: url:" + url.toExternalForm() );

-			}

-

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteParser.java
deleted file mode 100644
index dac8131..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteParser.java
+++ /dev/null
@@ -1,278 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.IOException;

-import java.io.InputStream;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.net.URLClassLoader;

-import java.util.*;

-

-import java.util.ArrayList;

-import java.util.List;

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

-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.xml.sax.*;

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

-

-/**

- * parse the default site.xml

- */

-

-public class SiteParser extends DefaultHandler {

-

-	private SAXParser parser;

-	private InputStream siteStream;

-	private Site site;

-	private String text;

-	private Category currentCategory;

-	public static final String SITE = "site";

-	public static final String FEATURE = "feature";

-	public static final String ARCHIVE = "archive";

-	public static final String CATEGORY_DEF = "category-def";

-	public static final String CATEGORY = "category";

-	public static final String DESCRIPTION = "description";

-

-	private static final String DEFAULT_INFO_URL = "index.html";

-

-	private ResourceBundle bundle;

-

-	private IFeatureReference feature;

-

-	/**

-	 * Constructor for DefaultSiteParser

-	 */

-	public SiteParser(InputStream siteStream, ISite site) throws IOException, SAXException, CoreException {

-		super();

-		parser = new SAXParser();

-		parser.setContentHandler(this);

-

-		this.siteStream = siteStream;

-		Assert.isTrue(site instanceof Site);

-		this.site = (Site) site;

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("Start parsing site:" + site.getURL().toExternalForm());

-		}

-

-		bundle = ((Site) site).getResourceBundle();

-

-		parser.parse(new InputSource(this.siteStream));

-	}

-

-	/**

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

-	 */

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

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName);

-		}

-		try {

-

-			String tag = localName.trim();

-

-			if (tag.equalsIgnoreCase(SITE)) {

-				processSite(attributes);

-				return;

-			}

-

-			if (tag.equalsIgnoreCase(FEATURE)) {

-				processFeature(attributes);

-				return;

-			}

-

-			if (tag.equalsIgnoreCase(ARCHIVE)) {

-				processArchive(attributes);

-				return;

-			}

-

-			if (tag.equalsIgnoreCase(CATEGORY_DEF)) {

-				processCategoryDef(attributes);

-				return;

-			}

-

-			if (tag.equalsIgnoreCase(DESCRIPTION)) {

-				currentCategory.setDescription(processInfo(attributes));

-				return;

-			}

-

-			if (tag.equalsIgnoreCase(CATEGORY)) {

-				processCategory(attributes);

-				return;

-			}

-		} catch (MalformedURLException e) {

-			throw new SAXException("error processing URL. Check the validity of the URLs", e);

-		}

-

-	}

-

-	/** 

-	 * process the Site info

-	 */

-	private void processSite(Attributes attributes) throws MalformedURLException {

-		//

-		String infoURL = attributes.getValue("url");

-		infoURL = UpdateManagerUtils.getResourceString(infoURL, bundle);

-		URL url = UpdateManagerUtils.getURL(site.getURL(), infoURL, DEFAULT_INFO_URL);

-		site.setInfoURL(url);

-

-		// process the Site....if the site has a different type

-		// throw an exception so the new parser can be used...

-		// TODO:

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("End process Site tag: infoURL:" + infoURL);

-		}

-

-	}

-

-	/** 

-	 * process the Feature info

-	 */

-	private void processFeature(Attributes attributes) throws MalformedURLException {

-

-		// url

-		URL url = UpdateManagerUtils.getURL(site.getURL(), attributes.getValue("url"), null);

-

-		if (url != null) {

-			feature = new FeatureReference(site, url);

-

-			// the type of the feature

-			String type = attributes.getValue("type");

-			((FeatureReference) feature).setFeatureType(type);

-

-			// add the feature

-			site.addFeatureReference(feature);

-

-			// DEBUG:		

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-				UpdateManagerPlugin.getPlugin().debug("End Processing Feature Tag: url:" + url.toExternalForm() + "  ->type:" + type + " Class name:" + feature.getClass().toString());

-			}

-

-		} else {

-			IStatus status = new Status(IStatus.WARNING, UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier(), IStatus.OK, "Feature doesn\'t have a URL", null);

-			UpdateManagerPlugin.getPlugin().getLog().log(status);

-		}

-

-	}

-

-	/** 

-	 * process the Archive info

-	 */

-	private void processArchive(Attributes attributes) throws MalformedURLException {

-		String id = attributes.getValue("path");

-		String urlString = attributes.getValue("url");

-		URL url = UpdateManagerUtils.getURL(site.getURL(), urlString, null);

-		site.addArchive(new Info(id, url));

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("End processing Archive: id:" + id + " ver:" + urlString);

-		}

-

-	}

-

-	/** 

-	 * process the Category  info

-	 */

-	private void processCategory(Attributes attributes) {

-		// category

-		String category = attributes.getValue("name");

-		((FeatureReference) feature).addCategoryString(category);

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("End processing Category: name:" + category);

-		}

-	}

-

-	/** 

-	 * process the Category Def info

-	 */

-	private void processCategoryDef(Attributes attributes) {

-		String name = attributes.getValue("name");

-		String label = attributes.getValue("label");

-		label = UpdateManagerUtils.getResourceString(label, bundle);

-		Category category = new Category(name, label);

-		site.addCategory(category);

-		currentCategory = category;

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("End processing CategoryDef: name:" + name + " label:" + label);

-		}

-

-	}

-

-	/** 

-	 * process the info

-	 */

-	private IInfo processInfo(Attributes attributes) throws MalformedURLException {

-		String infoURL = attributes.getValue("url");

-		infoURL = UpdateManagerUtils.getResourceString(infoURL, bundle);

-		URL url = UpdateManagerUtils.getURL(site.getURL(), infoURL, null);

-		Info inf = new Info(url);

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("Processed Info: url:" + infoURL);

-		}

-

-		return inf;

-	}

-

-	/**

-	 * @see DefaultHandler#error(SAXParseException)

-	 */

-	public void error(SAXParseException arg0) throws SAXException {

-		super.error(arg0);

-	}

-

-	/**

-	 * @see DefaultHandler#endElement(String, String, String)

-	 */

-	public void endElement(String uri, String localName, String qName) throws SAXException {

-

-		if (text != null) {

-

-			String tag = localName.trim();

-

-			if (tag.equalsIgnoreCase(DESCRIPTION)) {

-				((Info) currentCategory.getDescription()).setText(text);

-

-				// DEBUG:		

-				if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-					UpdateManagerPlugin.getPlugin().debug("Found Description Text");

-				}

-			}

-

-			// clean the text

-			text = null;

-			

-		}

-

-		// DEBUG:		

-		if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {

-			UpdateManagerPlugin.getPlugin().debug("End Element:" + uri + ":" + localName + ":" + qName);

-		}

-		

-

-	}

-

-	/**

-	 * @see DefaultHandler#characters(char[], int, int)

-	 */

-	public void characters(char[] ch, int start, int length) throws SAXException {

-		text = new String(ch, start, length).trim();

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURL.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURL.java
deleted file mode 100644
index 53cba0f..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURL.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java
deleted file mode 100644
index 57e0aec..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
deleted file mode 100644
index fd95742..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
+++ /dev/null
@@ -1,311 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-import java.io.*;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.Date;

-import java.util.ResourceBundle;

-

-import org.eclipse.core.boot.BootLoader2;

-import org.eclipse.core.boot.IPlatformConfiguration;

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

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

-

-public class UpdateManagerUtils {

-	

-	

-	public static int AVAILABLE = 1000;

-	

-	/**

-	 * 

-	 */

-	private static IOException CANCEL_EXCEPTION;

-

-

-	/**

-	 * Static block to initialize the possible CANCEL ERROR

-	 * thrown when the USER cancels teh operation

-	 */

-	static {

-		//	in case we throw a cancel exception

-		CANCEL_EXCEPTION = new IOException("Install has been cancelled");

-	}

-

-	/**

-	 * return the urlString if it is a absolute URL

-	 * otherwise, return the default URL if the urlString is null

-	 * The defaultURL may point ot a file, create a file URL then

-	 * if teh urlString or the default URL are relatives, prepend the rootURL to it

-	 */

-	public static URL getURL(URL rootURL, String urlString, String defaultURL) throws MalformedURLException {

-		URL url = null;

-

-		// if no URL , provide Default

-		if (urlString == null || urlString.trim().equals("")) {

-

-			// no URL, no default, return right now...

-			if (defaultURL == null || defaultURL.trim().equals(""))

-				return null;

-			else

-				urlString = defaultURL;

-		}

-

-		// URL can be relative or absolute	

-		if (urlString.startsWith("/") && urlString.length() > 1)

-			urlString = urlString.substring(1);

-		try {

-			url = new URL(urlString);

-		} catch (MalformedURLException e) {

-			// the url is not an absolute URL

-			// try relative

-			String path = UpdateManagerUtils.getPath(rootURL);

-			//path = path + ((path.endsWith("/")|| path.endsWith(File.separator))?"":"/");			

-			//url = new URL(rootURL.getProtocol(), rootURL.getHost(), path + urlString);

-			url = new URL(rootURL,urlString);

-		}

-		return url;

-	}

-

-	/**

-	 * return the url a relative String if the url contains the base url

-	 * 

-	 */

-	public static String getURLAsString(URL rootURL, URL url) {

-		String result = null;

-		String rootString = rootURL.toExternalForm();

-

-		// if no URL , return null

-		if (url != null) {

-			String urlString = url.toExternalForm();

-			if (urlString.indexOf(rootString)!=-1){

-				result = urlString.substring(rootString.length());

-			} else {

-				result = urlString;

-			}

-		}

-		

-		return result;			

-	}

-

-

-	/**

-	 * returns a translated String

-	 */

-	public static String getResourceString(String infoURL, ResourceBundle bundle) {

-		String result = null;

-		if (infoURL != null) {

-			result = UpdateManagerPlugin.getPlugin().getDescriptor().getResourceString(infoURL, bundle);

-		}

-		return result;

-	};

-

-	/**

-	 * Resolve a URL as a local file URL

-	 * if the URL is not a file URL, transfer the stream to teh temp directory 

-	 * and return the new URL

-	 */

-	public static URL resolveAsLocal(URL remoteURL) throws MalformedURLException, IOException, CoreException {

-		return resolveAsLocal(remoteURL, null,null);

-	}

-

-	/**

-	 * Resolve a URL as a local file URL

-	 * if the URL is not a file URL, transfer the stream to teh temp directory 

-	 * and return the new URL

-	 */

-	public static URL resolveAsLocal(URL remoteURL, String localName, IProgressMonitor monitor) throws MalformedURLException, IOException, CoreException {

-		URL result = remoteURL;

-

-		if (!(remoteURL == null || remoteURL.getProtocol().equals("file"))) {

-			InputStream sourceContentReferenceStream = remoteURL.openStream();

-			if (sourceContentReferenceStream != null) {

-

-				Site tempSite = (Site) SiteManager.getTempSite();

-				String newFile = UpdateManagerUtils.getPath(tempSite.getURL());							

-				if (localName == null || localName.trim().equals("")) {

-					newFile = newFile + getLocalRandomIdentifier("");

-				} else {

-					newFile = newFile + localName;

-

-				}

-

-				result = copyToLocal(sourceContentReferenceStream, newFile,monitor);

-			} else {

-				throw new IOException("Couldn\'t find the file: " + remoteURL.toExternalForm());

-			}

-			

-			// DEBUG:

-			if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_INSTALL) {

-				UpdateManagerPlugin.getPlugin().debug("Transfered URL:" + remoteURL.toExternalForm() + " to:" + result.toExternalForm());

-			}

-		}

-		return result;

-	}

-

-	/**

-	 * 

-	 */

-	public static URL copyToLocal(InputStream sourceContentReferenceStream, String localName, IProgressMonitor monitor) throws MalformedURLException, IOException {

-		URL result = null;

-

-		// create the Dir is they do not exist

-		// get the path from the File to resolve File.separator..

-		// do not use the String as it may contain URL like separator

-		File localFile = new File(localName);

-		int index = localFile.getPath().lastIndexOf(File.separator);

-		if (index != -1) {

-			File dir = new File(localFile.getPath().substring(0, index));

-			if (!dir.exists())

-				dir.mkdirs();

-		}

-

-		// transfer teh content of the File

-		if (!localFile.isDirectory()) {

-			FileOutputStream localContentReferenceStream = new FileOutputStream(localFile);

-			transferStreams(sourceContentReferenceStream, localContentReferenceStream,monitor);

-		}

-		result = new URL("file", null, localFile.getPath());

-

-		return result;

-	}

-

-	/**

-	 * Returns a random file name for the local system

-	 * attempt to conserve the extension if there is a '.' in the path

-	 * and no File.Seperator after the '.'

-	 * 

-	 * \a\b\c.txt -> c987659385.txt

-	 * c.txt -> c3854763.txt

-	 * c	-> c953867549

-	 */

-	public static String getLocalRandomIdentifier(String remotePath) {

-		int dotIndex = remotePath.lastIndexOf(".");

-		int fileIndex = remotePath.lastIndexOf(File.separator);

-		

-		// if there is a separator after the dot

-		// do not consider it as an extension

-		// FIXME: LINUX ???

-		//String ext = (dotIndex != -1 && fileIndex < dotIndex) ? "." + remotePath.substring(dotIndex) : "";

-		String ext = (dotIndex != -1 && fileIndex < dotIndex) ? remotePath.substring(dotIndex) : "";

-		

-		// the name is teh string between the separator and the dot

-		// if there is no separator, it is the string up to the dot		

-		// if there is no dot, go to the end of the string 

-		if (fileIndex==-1) fileIndex=0;

-		if (dotIndex==-1) dotIndex=remotePath.length();

-		// if I have a separator and no dot: /a/b/c -> c

-		// if my separator is the last /a/b/c/, fileIndex and dotIndex are the same, so it will return teh default temp name

-		String name = (fileIndex < dotIndex) ? remotePath.substring(fileIndex, dotIndex) : "Eclipse_Update_TMP_";

-

-		Date date = new Date();

-		String result = name + date.getTime() + ext;

-		

-		return result;

-	}

-

-	/**

-	 * This method also closes both streams.

-	 * Taken from FileSystemStore

-	 */

-	private static void transferStreams(InputStream source, OutputStream destination, IProgressMonitor monitor) throws IOException {

-

-		Assert.isNotNull(source);

-		Assert.isNotNull(destination);

-		

-		if (monitor != null) {

-				monitor.beginTask("downloading...",AVAILABLE);

-		}

-

-		try {

-			int total = 0;

-			long loaded = 0;

-			byte[] buffer = new byte[8192];

-			while (true) {

-				int bytesRead = source.read(buffer);

-				if (bytesRead == -1)

-					break;

-				destination.write(buffer, 0, bytesRead);

-				if (monitor != null) {

-					monitor.worked(1);

-					loaded = loaded + bytesRead;

-					if (monitor.isCanceled()) {

-							throw CANCEL_EXCEPTION; 

-					}

-					if (++total==AVAILABLE){

-						monitor.beginTask("downloading...",AVAILABLE);

-						total = 0;						

-					}

-					monitor.setTaskName("loaded:"+loaded);

-				}

-			}

-		} finally {

-			try {

-				source.close();

-			} catch (IOException e) {}

-			try {

-				destination.close();

-			} catch (IOException e) {}

-		}

-	}

-

-	/**

-	 * remove a file or directory from the file system.

-	 * used to clean up install

-	 */

-	public static void removeFromFileSystem(File file) {

-		if (!file.exists())

-			return;

-		if (file.isDirectory()) {

-			String[] files = file.list();

-			if (files != null) // be careful since file.list() can return null

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

-					removeFromFileSystem(new File(file, files[i]));

-		}

-		if (!file.delete()) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.WARNING,id,IStatus.OK,"cannot remove: " + file.getPath()+" from the filesystem",new Exception());

-			UpdateManagerPlugin.getPlugin().getLog().log(status);

-		}

-	}

-	

-	/**

-	 * Method to return the PATH of the URL.

-	 * The path is the file of a URL before any <code>#</code> or <code>?</code>

-	 * This code removes the fragment or the query of the URL file

-	 * A URL is of the form: <code>protocol://host/path#ref</code> or <code> protocol://host/path?query</code>

-	 * 

-	 * @return the path of the URL

-	 */

-	public static String getPath(URL url){

-		/*String result = null;

-		if (url!=null){

-			String file = url.getFile();

-			int index;

-			if ((index = (file.indexOf("#")))!=-1) file = file.substring(0,index);

-			if ((index = (file.indexOf("?")))!=-1) file = file.substring(0,index);

-			result = file;

-		}

-		return result;*/

-		return url.getPath();

-	}

-	

-	/**

-	 * Returns teh runtime configuration from core boot

-	 */

-	public static IPlatformConfiguration getRuntimeConfiguration() throws CoreException {

-		IPlatformConfiguration result = null;	

-		try {

-			result = BootLoader2.getCurrentPlatformConfiguration();

-		} catch (IOException exception) {

-			String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();

-			IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, "Cannot find platform configuration" , exception);

-			throw new CoreException(status);

-		}

-		return result;

-	}

-	

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Writer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Writer.java
deleted file mode 100644
index 96dde13..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Writer.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.update.internal.core;

-

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.PrintWriter;

-

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

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

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

-

-public class Writer {

-public Writer() {

-	super();

-}

-

-public void writeSite(IWritable element, PrintWriter w) {

-

-	w.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

-	w.println("");

-	w.println("<!-- File written by Update manager 2.0 -->");

-	w.println("<!-- comments in this file are not preserved -->");

-	w.println("");

-	((IWritable)element).write(0,w);

-

-}

-

-/**

- * Method appendEscapedChar.

- * @param buffer

- * @param c

- */

-private static void appendEscapedChar(StringBuffer buffer, char c) {

-	String replacement = getReplacement(c);

-	if (replacement != null) {

-		buffer.append('&');

-		buffer.append(replacement);

-		buffer.append(';');

-	} else {

-		if ((c >= ' ' && c <= 0x7E) || c == '\n' || c == '\r' || c == '\t') {

-			buffer.append(c);

-		} else {

-			buffer.append("&#");

-			buffer.append(Integer.toString(c));

-			buffer.append(';');

-		}

-	}

-}

-

-

-/**

- * Method xmlSafe.

- * @param s

- * @return String

- */

-public static String xmlSafe(String s) {

-	StringBuffer result = new StringBuffer(s.length() + 10);

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

-		appendEscapedChar(result, s.charAt(i));

-	return result.toString();

-}

-/**

- * Method getReplacement.

- * @param c

- * @return String

- */

-private static String getReplacement(char c) {

-	// Encode special XML characters into the equivalent character references.

-	// These five are defined by default for all XML documents.

-	switch (c) {

-		case '<' :

-			return "lt";

-		case '>' :

-			return "gt";

-		case '"' :

-			return "quot";

-		case '\'' :

-			return "apos";

-		case '&' :

-			return "amp";

-	}

-	return null;

-}

-}

diff --git a/update/org.eclipse.update.examples/.classpath b/update/org.eclipse.update.examples/.classpath
deleted file mode 100644
index e1cf206..0000000
--- a/update/org.eclipse.update.examples/.classpath
+++ /dev/null
@@ -1,14 +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.ui/workbench.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.ui/workbenchsrc.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.core.runtime/runtime.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.core.runtime/runtimesrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.core.resources/resources.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.core.resources/resourcessrc.zip"/>
-    <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 0121573..0000000
--- a/update/org.eclipse.update.examples/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin

-build.xml

-examples.jar

-examples.jar.bin.log
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/.vcm_meta b/update/org.eclipse.update.examples/.vcm_meta
deleted file mode 100644
index 0c9e8d8..0000000
--- a/update/org.eclipse.update.examples/.vcm_meta
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<nature id="org.eclipse.pde.PluginNature"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-	<builder name="org.eclipse.pde.ManifestBuilder">

-	</builder>

-	<builder name="org.eclipse.pde.SchemaBuilder">

-	</builder>

-</project-description>

diff --git a/update/org.eclipse.update.examples/about.html b/update/org.eclipse.update.examples/about.html
deleted file mode 100644
index 9a15e5c..0000000
--- a/update/org.eclipse.update.examples/about.html
+++ /dev/null
@@ -1,30 +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>

-<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" face="Arial,Helvetica">About This Plug-in</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

-<p>1st November, 2001</p>	

-<h3>License</h3>

-<p>Eclipse.org makes available all content in this plug-in.  The plug-in 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>.  For purposes of the Common Public License, &quot;Program&quot; will mean the plug-in.</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 b565aaa..0000000
--- a/update/org.eclipse.update.examples/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-source.examples.jar=src/

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

diff --git a/update/org.eclipse.update.examples/doc-html/hglegal.htm b/update/org.eclipse.update.examples/doc-html/hglegal.htm
deleted file mode 100644
index b071dbd..0000000
--- a/update/org.eclipse.update.examples/doc-html/hglegal.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-   <meta name="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2001. All Rights Reserved.

-</body>

-</html>

diff --git a/update/org.eclipse.update.examples/doc-html/ngibmcpy.gif b/update/org.eclipse.update.examples/doc-html/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/update/org.eclipse.update.examples/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/doc-html/update_install_ex.html b/update/org.eclipse.update.examples/doc-html/update_install_ex.html
deleted file mode 100644
index 6f37525..0000000
--- a/update/org.eclipse.update.examples/doc-html/update_install_ex.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

-<html>

-<head>

-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; U) [Netscape]">

-   <title>Updates - Software Update Example</title>

-</head>

-<body>

-

-<h2>

-<b>Example - Software Update</b></h2>

-

-<h3>

-Introduction</h3>

-This example demonstrates how to install additional components to the Eclipse

-platform. It is contained in plug-in <b><tt>org.eclipse.update.examples

-</tt></b>.

-<br>&nbsp;

-<h3>

-Running the example</h3>

-To run the example, you'll need to have an HTTP server available (eg. Apache

-server). Copy the entire <b><tt>install</tt></b> directory from the example

-plug-in <b><tt>org.eclipse.update.examples</tt></b> into the HTTP server

-document tree (eg. <tt>htdocs</tt> directory for Apache server). Make sure

-the server is running.

-<p>Start the Eclipse workbench. Select <b>Help</b>, then <b>Software Updates</b>,

-then <b>Add...</b>

-<br>On the location page enter the URL of your server (eg. http://my.server/

-... fill in your actual server URL here). The URL needs to&nbsp; reflect

-any additional server path elements leading to the <tt>install</tt> directory

-you copied. For example, if you copied the <tt>install</tt> directory into

-htdocs/examples (so the path is htdocs/examples/install), you would enter

-the URL as http://my.server/examples.

-<br>Press <b>Add</b> and <b>Next></b>. You should be presented with a list

-containing installable components. The provided example contains a single

-component called <b>Update Example</b>. Select it and complete the installation.You'll

-need to restart the workbench to activate the changes.

-<p>Once restarted, you can see the new example function by adding it to

-your perspectives. Select <b>Perspective</b>, <b>Customize...</b> and then

-expand <b>Other</b>. Select <b>Sample Action Set</b> (this is an action

-set implemented by this example plug-in that you just downloaded and installed).

-A new menu labeled

-<b>Sample Menu</b> should appear in the workbench with

-a new action. Clicking the menu action displays an information box (to

-verify the installation actually worked).

-<br>&nbsp;

-<h3>

-Details</h3>

-The example illustrates the structure required on an HTTP server for downloading

-Eclipse components. The example consists of a simple plugin that adds a

-menu and an action to the workbench. The plug-in has been packaged as a

-component jar using the Plug-in Development tools in the Eclipse workbench

-(PDE). Note, that the base plug-in directory for <tt>org.eclipse.update.examples</tt>

-does not contain the <tt>plugin.xml</tt> file. Consequently the base plugin

-does not contribute anything to the workbench. The base plugin contains

-an <tt>install</tt> directory that is used in the previous steps.

-<p>The install directory that you copied to the HTTP server is the output

-of building a component jar using the PDE Component Project setup (with

-one extra "server-side" file added). It contains the following:

-<p><tt>install/</tt>

-<br><tt>&nbsp;&nbsp;&nbsp; components/</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; install.index</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.eclipse.update.examples.component_1.0.0/</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-install.xml</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-install.properties</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-install_en.properties</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-orq.eclipse.update.examples.component_1.0.0.jar</tt>

-<p>The above directory structure is required to exist on the server. There

-is a common <tt>install</tt> root. There is also a common <tt>components</tt>

-subdirectory. It contains a subdirectory for each component available for

-download (in the example case just one, <tt>org.eclipse.update.examples.component_1.0.0</tt>).

-The file <tt>install.index</tt> was manually created (not generated by

-PDE). It is a simple directory index of component directories (one line

-per directory). This allows the update client to discover which component

-directories actually exist on the server.

-<p>The actual component as created by PDE is contained in the <tt>orq.eclipse.update.examples.component_1.0.0.jar.

-</tt>Its

-<tt>install.xml</tt>

-file that describes the component is also exposed to allow the update support

-to find out about the component without the need to actually download the

-jar. The <tt>install[_locale].properties</tt> files contain separated strings.

-<p>Please refer to PDE documentation for additional details of creating

-component jars. Select <b>Help</b>, then <b>Help Contents</b> and <b>PDE

-ISV Guide</b> (from the drop box). Please refer to the Eclipse platform

-documentation for additional details of the installation conventions. Select

-<b>Help</b>,

-then <b>Help Contents</b> and <b>Platform Plug-In Developer Guide</b> (from

-the drop box). The installation information is contained in section <b>Reference</b>,

-<b>Other

-Reference Articles, Platform Installation and Update</b>.

-<br>&nbsp;

-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/update/org.eclipse.update.examples/install/components/install.index b/update/org.eclipse.update.examples/install/components/install.index
deleted file mode 100644
index 73b8cfc..0000000
--- a/update/org.eclipse.update.examples/install/components/install.index
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.update.examples.component_1.0.0

diff --git a/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install.properties b/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install.properties
deleted file mode 100644
index c331002..0000000
--- a/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-comp.name = Update Example Component

-comp.desc = This is the default description for an example component.

-comp.updt.url1 = Examples update site

-plg1.name = Examples Plugin

diff --git a/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install.xml b/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install.xml
deleted file mode 100644
index 009cae2..0000000
--- a/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<component

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

-      label="%comp.name"

-      version="1.0.0"

-      provider-name="">

-

-   <description>

-   %comp.desc

-   </description>

-

-   <url>

-      <update label="%comp.updt.url1" url="http://update.server/directory"/>

-   </url>

-

-   <plugin

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

-         label="%plg1.name"

-         version="1.0.0">

-   </plugin>

-

-</component>

diff --git a/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install_en.properties b/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install_en.properties
deleted file mode 100644
index 63327fc..0000000
--- a/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/install_en.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-comp.name = Update Example Component

-comp.desc = This is the English description for an example component.

-comp.updt.url1 = Examples update site

-plg1.name = Examples Plugin
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/org.eclipse.update.examples.component_1.0.0.jar b/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/org.eclipse.update.examples.component_1.0.0.jar
deleted file mode 100644
index b3e80ad..0000000
--- a/update/org.eclipse.update.examples/install/components/org.eclipse.update.examples.component_1.0.0/org.eclipse.update.examples.component_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/plugin.xml b/update/org.eclipse.update.examples/plugin.xml
deleted file mode 100644
index 14542d1..0000000
--- a/update/org.eclipse.update.examples/plugin.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<plugin

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

-   name="Update Example Plugin"

-   version="1.0"

-   provider-name="International Business Machines Corp."

-   class="org.eclipse.update.examples.ExamplesPlugin">

-<requires>

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

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

-   <import plugin="org.eclipse.ui"/>

-</requires>

-

-<runtime>

-   <library name="examples.jar"/>

-</runtime>

-

-<extension

-      point="org.eclipse.ui.actionSets">

-   <actionSet

-         label="Sample Action Set"

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

-      <menu

-            label="Sample Menu"

-            id="sampleMenu">

-         <separator

-               name="sampleGroup">

-         </separator>

-      </menu>

-      <action

-            label="&amp;Sample Action"

-            class="org.eclipse.update.examples.SampleAction"

-            menubarPath="sampleMenu/sampleGroup"

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

-      </action>

-   </actionSet>

-</extension>

-</plugin>

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

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.ui.plugin.*;

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

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

-import java.util.*;

-

-/**

- * The main plugin class to be used in the desktop.

- */

-public class ExamplesPlugin extends AbstractUIPlugin {

-   //The shared instance.

-   private static ExamplesPlugin plugin;

-   //Resource bundle.

-   private ResourceBundle resourceBundle;

-   

-  /**

-   * The constructor.

-   */

-   public ExamplesPlugin(IPluginDescriptor descriptor) {

-      super(descriptor);

-      plugin = this;

-      try {

-         resourceBundle= ResourceBundle.getBundle("org.eclipse.update.examples.ExamplesPluginResources");

-      } catch (MissingResourceException x) {

-         resourceBundle = null;

-      }

-   }

-

-  /**

-   * Returns the shared instance.

-   */

-   public static ExamplesPlugin getDefault() {

-      return plugin;

-   }

-

-  /**

-   * 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 getResourceString(String key) {

-      ResourceBundle bundle= ExamplesPlugin.getDefault().getResourceBundle();

-      try {

-         return bundle.getString(key);

-      } catch (MissingResourceException e) {

-         return key;

-      }

-   }

-

-  /**

-   * Returns the plugin's resource bundle,

-   */

-   public ResourceBundle getResourceBundle() {

-      return resourceBundle;

-   }

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/ExamplesPluginResources.properties b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/ExamplesPluginResources.properties
deleted file mode 100644
index 43de06a..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/ExamplesPluginResources.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-title = Sample Action

-msg = Hello from Sample Action
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/SampleAction.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/SampleAction.java
deleted file mode 100644
index 76da884..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/SampleAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.update.examples;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.jface.action.IAction;

-import org.eclipse.jface.viewers.ISelection;

-import org.eclipse.ui.IWorkbenchWindow;

-import org.eclipse.ui.IWorkbenchWindowActionDelegate;

-import org.eclipse.swt.widgets.MessageBox;

-

-/**

- * @see IWorkbenchWindowActionDelegate

- */

-public class SampleAction implements IWorkbenchWindowActionDelegate {

-  /**

-   * The constructor.

-   */

-   public SampleAction() {

-   }

-

-  /**

-   * @see IWorkbenchWindowActionDelegate#run

-   */

-   public void run(IAction arg0)  {

-		MessageBox messageBox = new MessageBox(null);

-		messageBox.setText(ExamplesPlugin.getResourceString("title"));

-		messageBox.setMessage(ExamplesPlugin.getResourceString("msg"));

-		messageBox.open();   		

-   }

-

-  /**

-   * @see IWorkbenchWindowActionDelegate#selectionChanged

-   */

-   public void selectionChanged(IAction arg0, ISelection arg1)  {

-   }

-

-  /**

-   * @see IWorkbenchWindowActionDelegate#dispose

-   */

-   public void dispose()  {

-   }

-

-  /**

-   * @see IWorkbenchWindowActionDelegate#init

-   */

-   public void init(IWorkbenchWindow arg0)  {

-   }

-}

diff --git a/update/org.eclipse.update.tests.core/.classpath b/update/org.eclipse.update.tests.core/.classpath
deleted file mode 100644
index ee26977..0000000
--- a/update/org.eclipse.update.tests.core/.classpath
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <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.apache.xerces/xerces.jar" sourcepath="ECLIPSE_HOME/plugins/org.apache.xerces/xercessrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.core.resources/resources.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.core.resources/resourcessrc.zip"/>
-    <classpathentry kind="src" path="/org.eclipse.update.core"/>
-    <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="src" path="src"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/startup.jar"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.junit/junit.jar" sourcepath="ECLIPSE_HOME/plugins/org.junit/src.jar"/>
-    <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/.vcm_meta b/update/org.eclipse.update.tests.core/.vcm_meta
deleted file mode 100644
index e243dde..0000000
--- a/update/org.eclipse.update.tests.core/.vcm_meta
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<comment></comment>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<nature id="org.eclipse.pde.PluginNature"/>

-	<reference project-name="org.eclipse.update.core"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-	<builder name="org.eclipse.pde.ManifestBuilder">

-	</builder>

-	<builder name="org.eclipse.pde.SchemaBuilder">

-	</builder>

-</project-description>

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 c801838..0000000
--- a/update/org.eclipse.update.tests.core/about.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html>

-<head>

-<meta name="about-version" content="2.0">

-<meta name="date" content="011205">

-<meta name="third-party" content="no">

-<meta name="other-licenses" content="no">

-<meta name="cryptography" content="no">

-<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>

-<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" face="Arial,Helvetica">About This Plug-in</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

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

-<h3>License</h3>

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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> ("CPL").  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 ("Other License"), any modifications, enhancements and/or

-other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the

-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available

-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also

-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of

-the CPL.</p>

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

-</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 4e7f153..0000000
--- a/update/org.eclipse.update.tests.core/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-source.updatetests.jar=src/

-bin.includes=*.jar,about.html,test.xml,plugin.xml,data/
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/helpFeature.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/helpFeature.jar
deleted file mode 100644
index 9809713..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/org.eclipse.pde.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/org.eclipse.pde.feature_1.0.0.jar
deleted file mode 100644
index f592c1d..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/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/data/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/info/siteInfo.html b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/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/ExecutableFeaturePackagedSite/data/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/install/features/feature3/feature.xml
deleted file mode 100644
index 16c7980..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/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="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="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/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/helpFeature.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/helpFeature.jar
deleted file mode 100644
index 9809713..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 f592c1d..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/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/install/features/feature3/feature.xml
deleted file mode 100644
index 16c7980..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/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="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="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/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 cb2d15f..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/site.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

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

-  <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"/>

-  <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>

-  <feature url="install/features/feature3/">

-    <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"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/file1.zip b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/file1.zip
deleted file mode 100644
index 1a70b7e..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/file1.zip
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/install/features/feature3/feature.xml
deleted file mode 100644
index 96139a9..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/install/features/feature3/feature.xml
+++ /dev/null
@@ -1,4 +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">

-  <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/site.xml b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site.xml
deleted file mode 100644
index 4d7090a..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site 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/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 f466c0b..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/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/install/features/feature3/feature.xml
deleted file mode 100644
index 16c7980..0000000
--- a/update/org.eclipse.update.tests.core/data/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="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="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/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/resources.properties b/update/org.eclipse.update.tests.core/data/resources.properties
deleted file mode 100644
index cc04665..0000000
--- a/update/org.eclipse.update.tests.core/data/resources.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-HTTP_HOST_1=9.26.150.182

-

-HTTP_PATH_1=/UpdateManager2/

-HTTP_PATH_2=/Dejan/
\ No newline at end of file
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 a925770..0000000
--- a/update/org.eclipse.update.tests.core/data/site.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

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

-  <feature url="install/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" url="plugin1"/>

-  <archive path="plugins/org.eclipse.update.archive2" url="plugin2"/>

-  <archive path="pluginsorg.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/data/site2/site.xml b/update/org.eclipse.update.tests.core/data/site2/site.xml
deleted file mode 100644
index 037681a..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">

-  <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/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/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 6304024..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="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 0ed1a74..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/siteInfo.html">

-  <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.xml b/update/org.eclipse.update.tests.core/plugin.xml
deleted file mode 100644
index 7097e25..0000000
--- a/update/org.eclipse.update.tests.core/plugin.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<plugin

-   id="org.eclipse.update.tests.core"

-   name="Tests"

-   version="0.0.1">

-<requires>

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

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

-   <import plugin="org.junit"/>

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

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

-</requires>

-

-<runtime>

-	<library name="updatetests.jar">

-      <export name="*"/>

-    </library>

-</runtime>

-</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 81a409b..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java
+++ /dev/null
Binary files differ
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 4d4b538..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateManagerTestCase.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.eclipse.update.tests;

-

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.File;

-import java.io.IOException;

-import java.net.*;

-import java.util.*;

-

-import junit.framework.TestCase;

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

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

-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 ResourceBundle bundle;

-	protected String dataPath;

-

-	protected static URL SOURCE_FILE_SITE;

-	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 void init() throws MissingResourceException, IOException, MalformedURLException {

-

-		IPluginDescriptor dataDesc = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.update.tests.core");

-		URL resolvedURL = Platform.resolve(dataDesc.getInstallURL());

-		dataPath = UpdateManagerUtils.getPath(resolvedURL)+DATA_PATH;

-		URL dataURL = new URL(resolvedURL.getProtocol(), resolvedURL.getHost(), dataPath);

-		String homePath = System.getProperty("user.home");

-

-		if (bundle == null) {

-			ClassLoader l = new URLClassLoader(new URL[] { dataURL }, null);

-			bundle = ResourceBundle.getBundle("resources", Locale.getDefault(), l);

-		}

-

-		try {

-			String path = UpdateManagerUtils.getPath(dataURL);

-			SOURCE_FILE_SITE = new URL("file", null, path);

-			SOURCE_HTTP_SITE = new URL("http", bundle.getString("HTTP_HOST_1"), 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);

-

-	}

-

-	/**

-	 * 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.

-	}

-

-}
\ No newline at end of file
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 0ecd253..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/AllAPITests.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.update.tests.api;

-/*

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

- * All Rights Reserved.

- */

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

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import java.io.File;

-import junit.framework.*;

-

-/**

- * 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));		

-

-		// clean up

-		String path = UpdateManagerUtils.getPath(SiteManager.getTempSite().getURL());

-		UpdateManagerUtils.removeFromFileSystem(new File(path));

-

-		return suite;

-	}

-}
\ No newline at end of file
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 d67be29..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java
+++ /dev/null
@@ -1,192 +0,0 @@
-package org.eclipse.update.tests.api;

-/*

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

- * All Rights Reserved.

- */

-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.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-

-public class TestDefaultExecutableFeatureAPI extends UpdateManagerTestCase {

-	

-	private Feature remoteFeature=null;

-	

-	/**

-	 * Test the testFeatures()

-	 */

-	public TestDefaultExecutableFeatureAPI(String arg0) {

-		super(arg0);

-	}

-	

-	/**

-	 * the feature to test

-	 */

-	private Feature getFeature() throws MalformedURLException, CoreException {

-		if (remoteFeature == null){

-

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE);

-		URL id = UpdateManagerUtils.getURL(site.getURL(),"install/features/feature3/",null);

-		remoteFeature = new FeatureExecutable(id,site);

-

-		}

-		return remoteFeature;

-	}

-	

-	/**

-	 * @see IFeature#testIdentifier()

-	 */

-	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);

-			

-			URL url1 = UpdateManagerUtils.getURL(site.getURL(),id1,null);			

-			remoteFeature = new FeatureExecutable(url1,site);

-			remoteFeature.setIdentifier(ident1);

-			assertEquals(ident1.toString(),remoteFeature.getIdentifier().toString());

-		

-			 URL url2 = UpdateManagerUtils.getURL(site.getURL(),id2,null);		

-			remoteFeature = new FeatureExecutable(url2,site);

-			remoteFeature.setIdentifier(ident2);

-			assertEquals(ident2.toString(),remoteFeature.getIdentifier().toString());

-		

-

-	}

-

-

-	/**

-	 * @see IFeature#testSite()

-	 */

-	public void testSite() throws MalformedURLException, CoreException{

-		String ident1 = "install/features/feature3/";		

-

-			ISite site = SiteManager.getSite(SOURCE_FILE_SITE);

-			

-			URL id = UpdateManagerUtils.getURL(site.getURL(),ident1,null);			

-			remoteFeature = new FeatureExecutable(id,site);

-			assertEquals(site,remoteFeature.getSite());

-

-	}

-

-

-	/**

-	 * @see IFeature#testLabel()

-	 */

-	public void testLabel() throws CoreException,MalformedURLException {

-		String label = "dummy label";

-		Feature feature = getFeature();

-		feature.setLabel(label);

-		assertEquals(label,feature.getLabel());

-	}

-

-

-	/**

-	 * @see IFeature#testUpdateURL()

-	 */

-	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 !

-		Feature feature = getFeature();

-		feature.setUpdateInfo(new Info(label, url));

-		assertEquals(url,feature.getUpdateInfo().getURL());

-		assertEquals(label,feature.getUpdateInfo().getText());

-

-	}

-

-

-	

-	/**

-	 * @see IFeature#testDiscoveryURLs()

-	 */

-	public void testDiscoveryURLs() throws CoreException,MalformedURLException {

-		IInfo[] urlInfo = new Info[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 !

-		Feature feature = getFeature();

-		for (int i=0;i<2;i++){

-				urlInfo[i] = new Info(label[i],url[i]);

-		}

-		feature.setDiscoveryInfos(urlInfo);

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

-			assertEquals(urlInfo[i],feature.getDiscoveryInfos()[i]);

-		}

-

-	}

-

-

-	/**

-	 * @see IFeature#testProvider()

-	 */

-	public void testProvider() throws CoreException,MalformedURLException {

-		String provider = "not so dummy provider";

-		IFeature feature = getFeature();

-		((Feature)feature).setProvider(provider);

-		assertEquals(provider,feature.getProvider());

-	}

-

-

-	/**

-	 * @see IFeature#testDescription()

-	 */

-	public void testDescription() throws CoreException,MalformedURLException {

-		String desc = "pretty long description as a string with \r\n and \t and \n";

-		IInfo info = new Info(desc);

-		IFeature feature = getFeature();

-		((Feature)feature).setDescription(info);

-		assertEquals(desc,feature.getDescription().getText());

-	}

-	

-	/**

-	 * @see IFeature#testDescription()

-	 */

-	public void testDescription1() throws CoreException, MalformedURLException {

-		URL desc = null;

-		try {

-			desc = new URL("http://www.oti.com");

-		} catch (MalformedURLException e){/*pretty impossible*/}

-		IInfo info = new Info(desc);

-		IFeature feature = getFeature();

-		((Feature)feature).setDescription(info);

-		assertEquals(desc,feature.getDescription().getURL());

-	}	

-	

-	/**

-	 * @see IFeature#testDescription()

-	 */

-	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";

-		IInfo info = new Info(desc,url);

-		IFeature feature = getFeature();

-		((Feature)feature).setDescription(info);

-		assertEquals(desc,feature.getDescription().getText());

-		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 2b1e57e..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package org.eclipse.update.tests.api;

-/*

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

- * All Rights Reserved.

- */

-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.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-

-public class TestDefaultPackageFeatureAPI extends UpdateManagerTestCase {

-	

-	private	Feature remoteFeature=null;

-	

-	/**

-	 * Test the testFeatures()

-	 */

-	public TestDefaultPackageFeatureAPI(String arg0) {

-		super(arg0);

-	}

-	

-	/**

-	 * the feature to test

-	 */

-	private Feature getFeature() throws MalformedURLException, CoreException {

-		if (remoteFeature == null){

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE);

-		URL id = UpdateManagerUtils.getURL(site.getURL(),"org.eclipse.update.core.feature1_1.0.0.jar",null);	

-		remoteFeature = new FeaturePackaged(id,site);

-		}

-		return remoteFeature;

-	}

-	

-	/**

-	 * @see IFeature#testIdentifier()

-	 */

-	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);

-			

-			URL url1 = UpdateManagerUtils.getURL(site.getURL(),id1,null);			

-			remoteFeature = new FeaturePackaged(url1,site);

-			remoteFeature.setIdentifier(ident1);

-			assertEquals(ident1.toString(),remoteFeature.getIdentifier().toString());

-		

-			 URL url2 = UpdateManagerUtils.getURL(site.getURL(),id2,null);		

-			remoteFeature = new FeaturePackaged(url2,site);

-			remoteFeature.setIdentifier(ident2);			

-			assertEquals(ident2.toString(),remoteFeature.getIdentifier().toString());

-	}

-

-

-	/**

-	 * @see IFeature#testSite()

-	 */

-	public void testSite() throws MalformedURLException, CoreException {

-		String ident1 = "org.eclipse.test.feature_1.0.0.jar";		

-

-			ISite site = SiteManager.getSite(SOURCE_FILE_SITE);

-			

-			URL id = UpdateManagerUtils.getURL(site.getURL(),ident1,null);		

-			remoteFeature = new FeaturePackaged(id,site);

-			assertEquals(site,remoteFeature.getSite());

-

-	}

-

-

-	/**

-	 * @see IFeature#testLabel()

-	 */

-	public void testLabel() throws CoreException, MalformedURLException {

-		String label = "dummy label";

-		Feature feature = getFeature();

-		feature.setLabel(label);

-		assertEquals(label,feature.getLabel());

-	}

-

-

-	/**

-	 * @see IFeature#testUpdateURL()

-	 */

-	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 !

-		Feature feature = getFeature();

-		feature.setUpdateInfo(new Info(label, url));

-		assertEquals(url,feature.getUpdateInfo().getURL());

-		assertEquals(label,feature.getUpdateInfo().getText());

-

-	}

-

-

-	

-	/**

-	 * @see IFeature#testDiscoveryURLs()

-	 */

-	public void testDiscoveryURLs() throws CoreException, MalformedURLException {

-		IInfo[] urlInfo = new Info[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 !

-		Feature feature = getFeature();

-		for (int i=0;i<2;i++){

-				urlInfo[i] = new Info(label[i],url[i]);

-		}

-		feature.setDiscoveryInfos(urlInfo);

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

-			assertEquals(urlInfo[i],feature.getDiscoveryInfos()[i]);

-		}

-

-

-	}

-

-

-	/**

-	 * @see IFeature#testProvider()

-	 */

-	public void testProvider() throws CoreException, MalformedURLException {

-		String provider = "not so dummy provider";

-		Feature feature = getFeature();

-		feature.setProvider(provider);

-		assertEquals(provider,feature.getProvider());

-	}

-

-

-	/**

-	 * @see IFeature#testDescription()

-	 */

-	public void testDescription() throws CoreException, MalformedURLException {

-		String desc = "pretty long description as a string with \r\n and \t and \n";

-		IInfo info = new Info(desc);

-		Feature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(desc,feature.getDescription().getText());

-	}

-	

-	/**

-	 * @see IFeature#testDescription()

-	 */

-	public void testDescription1() throws CoreException, MalformedURLException {

-		URL desc = null;

-		try {

-			desc = new URL("http://www.oti.com");

-		} catch (MalformedURLException e){/*pretty impossible*/}

-		IInfo info = new Info(desc);

-		Feature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(desc,feature.getDescription().getURL());

-	}	

-	

-	/**

-	 * @see IFeature#testDescription()

-	 */

-	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";

-		IInfo info = new Info(desc,url);

-		Feature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(desc,feature.getDescription().getText());

-		assertEquals(url,feature.getDescription().getURL());

-	}

-

-

-

-}

-

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 8b18035..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.update.tests.api;

-/*

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

- * All Rights Reserved.

- */

-import java.net.URL;

-

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

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

-import org.eclipse.update.internal.core.Category;

-import org.eclipse.update.internal.core.FeatureReference;

-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/"));

-		IInfo[] info = site.getArchives();

-		

-		if (info.length<=0){

-			fail("no plugins in site: "+site.getURL().toExternalForm());

-		}

-		

-		boolean found1 = false;

-		boolean found2 = false;

-		String name1= "org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar";

-		String name2 = "org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar";

-		

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

-			if (info[i].getText().equals(name1)) found1 = true;

-			if (info[i].getText().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 testCategories() throws Exception {

-

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE);

-		IFeatureReference[] ref = site.getFeatureReferences();

-		

-		ICategory category = new Category("category","Label of category");

-		site.addCategory(category);

-		ref[0].addCategory(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");

-		

-		categories = ref[0].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/TestPluginContainerAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java
deleted file mode 100644
index e0ccaf0..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.update.tests.api;

-/*

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

- * All Rights Reserved.

- */

-import java.net.MalformedURLException;

-import java.net.URL;

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

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

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

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

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

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestPluginContainerAPI extends UpdateManagerTestCase {

-

-	private Site site;

-	private Feature feature;

-

-	/**

-	 * the Site to test

-	 */

-	private Site getSite() throws CoreException {

-		if (site == null) {

-

-			site = (Site)SiteManager.getSite(SOURCE_FILE_SITE);

-

-		}

-		return site;

-	}

-

-	/**

-	 * the feature to test

-	 */

-	private Feature 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 FeaturePackaged(id, site);

-		}

-		return feature;

-	}

-

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestPluginContainerAPI(String arg0) throws CoreException {

-		super(arg0);

-	}

-

-	public void testAbstractFeature() throws CoreException, MalformedURLException {

-		PluginEntry pluginEntry = new PluginEntry("id", "ver");

-		Feature _feature = getFeature();

-		_feature.addPluginEntry(pluginEntry);

-		assertEquals(_feature.getPluginEntryCount(), 1);

-		assertEquals(_feature.getPluginEntries()[0], pluginEntry);

-

-	}

-

-	public void testAbstactSite() throws CoreException {

-		PluginEntry pluginEntry = new PluginEntry("id", "ver");

-		Site _site = getSite();

-		_site.addPluginEntry(pluginEntry);

-		assertEquals(_site.getPluginEntryCount(), 1);

-		assertEquals(_site.getPluginEntries()[0], pluginEntry);

-

-	}

-

-}
\ No newline at end of file
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 9c2470c..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteAPI.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.update.tests.api;

-/*

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

- * All Rights Reserved.

- */

-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);

-		assertEquals(site.getURL(),SOURCE_FILE_SITE);

-		

-		ISite site2 = SiteManager.getSite(SOURCE_FILE_SITE);

-		assertEquals(site2.getURL(),SOURCE_FILE_SITE);

-

-	}

-

-}

-

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 fe31bfc..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.update.tests.api;

-/*

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

- * All Rights Reserved.

- */

-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 TestSiteManagerAPI extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestSiteManagerAPI(String arg0) {

-		super(arg0);

-	}

-	

-	public void testFile() throws Exception {

-		ISite fileSite = SiteManager.getSite(TARGET_FILE_SITE);

-		assertEquals(TARGET_FILE_SITE, fileSite.getURL());

-	}

-

-	/*public void testHttp() throws Exception {

-		ISite httpSite = SiteManager.getSite(SOURCE_HTTP_SITE);

-		assertEquals(SOURCE_HTTP_SITE, httpSite.getURL());

-	}*/

-	

-	public void testUnknown() throws Exception {

-		URL url = new URL("ftp://255.255.255.255/");

-		boolean ok = false;

-		try {

-			ISite httpSite = SiteManager.getSite(url);

-		} catch (CoreException e){

-			ok = true;

-		}

-		if (!ok) fail();

-	}

-	

-	public void testLocalSite() throws Exception {

-		

-		

-		ILocalSite site = SiteManager.getLocalSite();

-		IConfigurationSite[] instSites = site.getCurrentConfiguration().getConfigurationSites();

-		assertTrue(instSites.length>0);

-		System.out.println("Local Site:"+instSites[0].getSite().getURL().toExternalForm());

-		

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE);

-		IFeature remoteFeature = remoteSite.getFeatureReferences()[0].getFeature();

-		instSites[0].getSite().install(remoteFeature,null);

-		

-		IFeatureReference[] features = site.getCurrentConfiguration().getConfigurationSites()[0].getSite().getFeatureReferences();

-		assertTrue(features.length>0);

-

-		//cleanup

-		File file = new File(instSites[0].getSite().getURL().getFile()+File.separator+SiteFile.INSTALL_FEATURE_PATH+remoteFeature.getIdentifier());

-		UpdateManagerUtils.removeFromFileSystem(file);

-		file = new File(instSites[0].getSite().getURL().getFile()+File.separator+SiteFile.DEFAULT_PLUGIN_PATH+"org.eclipse.update.plugin1_1.1.1");

-		UpdateManagerUtils.removeFromFileSystem(file);		

-		File localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.SITE_LOCAL_FILE).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 390c9a1..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestUpdateManagerUtilsAPI.java
+++ /dev/null
@@ -1,311 +0,0 @@
-package org.eclipse.update.tests.api;

-/*

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

- * All Rights Reserved.

- */

-import java.io.File;

-import java.net.URL;

-

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

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

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

-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);				

-

-	}

-	

-	

-	public void testResolve() throws Exception {

-		URL url1 = new URL("http://www.eclipse.org/index.html");

-		URL url2 = new URL("file://eclipse.org/hello.txt");

-		URL url3 = new URL("jar",null,SOURCE_FILE_SITE.toExternalForm()+"features/features2.jar!/license.txt");

-		

-		String str1 = "path/file.1";

-		String str2 = "path/file";

-		String str3 = "file";

-		

-		String result1=null;

-		String result2=null;

-		URL resultURL1 = null;

-		

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

-		//1.0

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url1);

-		resultURL1.openStream();

-		assertEquals("1.0","file",resultURL1.getProtocol());

-		

-		//1.1

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url1,str1,null);

-		resultURL1.openStream();

-		assertEquals("1.1 file:","file",resultURL1.getProtocol());

-		assertTrue("1.1 path:",resultURL1.getFile().endsWith("path"+File.separator+"file.1"));

-		

-		//1.2

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url1,str2,null);

-		resultURL1.openStream();

-		assertEquals("1.2 file:","file",resultURL1.getProtocol());

-		assertTrue("1.2 path:",resultURL1.getFile().endsWith("path"+File.separator+"file"));

-		

-		//1.3

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url1,str3,null);

-		resultURL1.openStream();

-		assertEquals("1.3 file:","file",resultURL1.getProtocol());

-		assertTrue("1.3 path:",resultURL1.getFile().endsWith("file"));

-		

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

-		//2.0

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url2);

-		assertEquals("2.0","file",resultURL1.getProtocol());

-		assertEquals("2.0.1",url2.getFile(),resultURL1.getFile());

-		

-		//2.1

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url2,str1,null);

-		assertEquals("2.1 file:","file",resultURL1.getProtocol());

-		assertEquals("2.1.1",url2.getFile(),resultURL1.getFile());

-		

-		//2.2

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url2,str2,null);

-		assertEquals("2.2 file:","file",resultURL1.getProtocol());

-		assertEquals("2.2.1",url2.getFile(),resultURL1.getFile());

-		

-		//2.3

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url2,str3,null);

-		assertEquals("2.3 file:","file",resultURL1.getProtocol());

-		assertEquals("2.0.1",url2.getFile(),resultURL1.getFile());

-		

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

-		//3.0

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url3);

-		resultURL1.openStream();

-		assertEquals("3.0","file",resultURL1.getProtocol());

-		

-		//3.1

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url3,str1,null);

-		resultURL1.openStream();

-		assertEquals("3.1 file:","file",resultURL1.getProtocol());

-		assertTrue("3.1 path:",resultURL1.getFile().endsWith("path"+File.separator+"file.1"));

-		

-		//3.2

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url3,str2,null);

-		resultURL1.openStream();

-		assertEquals("3.2 file:","file",resultURL1.getProtocol());

-		assertTrue("3.2 path:",resultURL1.getFile().endsWith("path"+File.separator+"file"));

-		

-		//3.3

-		resultURL1 = UpdateManagerUtils.resolveAsLocal(url3,str3,null);

-		resultURL1.openStream();

-		assertEquals("3.3 file:","file",resultURL1.getProtocol());

-		assertTrue("3.3 path:",resultURL1.getFile().endsWith("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 a0168e4..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.update.tests.core.boot;

-/*

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

- * All Rights Reserved.

- */

-

-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 3f05e32..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/PlatformConfigurationTestCase.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.update.tests.core.boot;

-/*

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

- * All Rights Reserved.

- */

-

-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 45b31ac..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgAPI.java
+++ /dev/null
@@ -1,220 +0,0 @@
-package org.eclipse.update.tests.core.boot;

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.IOException;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.Date;

-

-import junit.framework.Assert;

-import org.eclipse.core.boot.BootLoader2;

-import org.eclipse.core.boot.IPlatformConfiguration;

-import org.eclipse.core.boot.IPlatformConfiguration.ISiteEntry;

-import org.eclipse.core.boot.IPlatformConfiguration.ISitePolicy;

-

-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 = BootLoader2.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");

-		

-		ISitePolicy p3 = cfig.createSitePolicy(ISitePolicy.SITE_INCLUDE, new String[] {"first", "second", "third"});

-		Assert.assertEquals("1.2.0",p3.getType(),ISitePolicy.SITE_INCLUDE);

-		Assert.assertEquals("1.2.1",p3.getList().length,3);

-		Assert.assertEquals("1.2.2",p3.getList()[2],"third");

-		

-		// 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://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,p3);

-		Assert.assertEquals("3.1.0",s2.getURL(),u2);

-		Assert.assertEquals("3.1.1",s2.getSitePolicy(),p3);

-		s2.setSitePolicy(p2);

-		Assert.assertEquals("3.1.2",s2.getSitePolicy(),p2);

-		

-		ISiteEntry s3 = cfig.createSiteEntry(u3,p1);

-		Assert.assertEquals("3.2.0",s3.getURL(),u3);

-		Assert.assertEquals("3.2.1",s3.getSitePolicy(),p1);

-		s3.setSitePolicy(p3);

-		Assert.assertEquals("3.2.2",s3.getSitePolicy(),p3);

-		

-		// 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);

-		cfig.configureSite(s3);

-		Assert.assertEquals("3.3.3",cfig.getConfiguredSites().length,3);

-		

-		// lookup site tests

-		Assert.assertEquals("3.4.0",cfig.findConfiguredSite(u1),s1);

-		Assert.assertEquals("3.4.1",cfig.findConfiguredSite(u2),s2);

-		Assert.assertEquals("3.4.2",cfig.findConfiguredSite(u3),s3);

-		Assert.assertNull("3.4.3",cfig.findConfiguredSite(u4));

-		

-		// unconfigure site tests

-		cfig.unconfigureSite(s1);

-		Assert.assertEquals("3.5.0",cfig.getConfiguredSites().length,2);

-		Assert.assertNull("3.5.1",cfig.findConfiguredSite(u1));		

-		cfig.unconfigureSite(s2);

-		Assert.assertEquals("3.5.2",cfig.getConfiguredSites().length,1);

-		Assert.assertNull("3.5.3",cfig.findConfiguredSite(u2));		

-		cfig.unconfigureSite(s3);

-		Assert.assertEquals("3.5.4",cfig.getConfiguredSites().length,0);

-		Assert.assertNull("3.5.5",cfig.findConfiguredSite(u3));		

-	}

-	

-	public void testSaveRestore() throws Exception {

-				

-		Assert.assertNotNull("0.0 Unable to obtain temp directory",tempDir);

-		

-		// get new config object

-		IPlatformConfiguration cfig = null;

-		try {

-			cfig = BootLoader2.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"});

-		ISitePolicy p5 = cfig.createSitePolicy(ISitePolicy.SITE_INCLUDE, new String[] {"first", "second", "third"});

-						

-		// create some urls

-		URL u1 = null;

-		URL u2 = null;

-		URL u3 = null;

-		URL u4 = null;

-		URL u5 = 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/");

-			u5 = 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);

-		ISiteEntry s5 = cfig.createSiteEntry(u5,p5);

-		cfig.configureSite(s5);

-		sites = cfig.getConfiguredSites();

-		Assert.assertEquals("1.1",sites.length,5);

-		

-		// do save

-		try {

-			cfig.save();

-			Assert.fail("2.0 was expecting IOException");

-		} catch (IOException e) {

-		}

-		

-		URL cfigURL = null;

-		try {

-			cfigURL = new URL("file:"+tempDir+(new Date()).getTime()+"_platform.cfg");

-		} 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	

-		IPlatformConfiguration newCfig = null;	

-		try {

-			newCfig = BootLoader2.getPlatformConfiguration(cfigURL);

-		} catch (IOException e) {

-			Assert.fail("2.3 "+e.toString());

-		}

-		ISiteEntry[] newSites = cfig.getConfiguredSites();

-		Assert.assertEquals("2.4",newSites.length,5);

-		

-		// 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());

-		

-		Assert.assertEquals("3.4.1",sites[4].getURL(),newSites[4].getURL());

-		Assert.assertEquals("3.4.2",sites[4].getSitePolicy().getType(),newSites[4].getSitePolicy().getType());

-		Assert.assertEquals("3.4.3",sites[4].getSitePolicy().getList(),newSites[4].getSitePolicy().getList());

-		

-	}

-}

-

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 a87ddca..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.update.tests.core.boot;

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.IOException;

-

-import org.eclipse.core.boot.BootLoader2;

-import org.eclipse.core.boot.IPlatformConfiguration;

-import org.eclipse.core.boot.IPlatformConfiguration.ISiteEntry;

-import org.eclipse.core.boot.IPlatformConfiguration.ISitePolicy;

-

-public class TestPlatCfgDefault

-	extends PlatformConfigurationTestCase {

-		

-	public TestPlatCfgDefault(String arg0) {

-		super(arg0);

-	}

-	

-	public void testInitial() throws Exception {

-		IPlatformConfiguration cfig = null;

-		try {

-			cfig = BootLoader2.getCurrentPlatformConfiguration();

-		} catch (IOException e) {

-			System.out.println(e);

-			return;

-		}

-		ISiteEntry se = cfig.getConfiguredSites()[0];

-		ISitePolicy sp = cfig.createSitePolicy(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/parser/AllParserTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java
deleted file mode 100644
index d3013f2..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java
+++ /dev/null
Binary files differ
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 a1e6a6f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestCategories.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.update.tests.parser;

-/*

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

- * All Rights Reserved.

- */

-import java.net.URL;

-

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

-import org.eclipse.update.internal.core.FeatureReference;

-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);

-

-		IFeatureReference[] 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);

-

-		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);

-

-		ICategory[] categories = remoteSite.getCategories();

-

-		assertEquals("Required Drivers", categories[0].getLabel());

-

-	}

-}
\ No newline at end of file
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 39dd167..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestFeatureParse.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteGeneration.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteGeneration.java
deleted file mode 100644
index bdabb01..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteGeneration.java
+++ /dev/null
Binary files differ
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 28bb623..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java
+++ /dev/null
Binary files differ
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 e8f1036..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java
+++ /dev/null
Binary files differ
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 e1c8c79..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestDataEntryInstall.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.update.tests.regularInstall;

-/*

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

- * All Rights Reserved.

- */

-import java.io.File;

-import java.net.MalformedURLException;

-import java.net.URL;

-

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

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

-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 URL("file", null, dataPath + "dataEntrySiteTest/");

-		ISite remoteSite = SiteManager.getSite(newURL);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE);

-		IFeature remoteFeature = null;

-		

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

-			remoteFeature = featuresRef[i].getFeature();

-			localSite.install(remoteFeature, null);

-

-			// verify

-			String site = localSite.getURL().getFile();

-			IDataEntry[] entries = remoteFeature.getDataEntries();

-			assertTrue("no data entry", (entries != null && entries.length != 0));

-			String pluginName = entries[0].getIdentifier().toString();

-			File pluginFile = new File(site, SiteFile.INSTALL_FEATURE_PATH + remoteFeature.getIdentifier().toString()+File.separator+ pluginName);

-			assertTrue("data files not installed locally:"+pluginFile, pluginFile.exists());

-		}

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-

-

-	}

-	

-	

-}
\ No newline at end of file
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 b87604a..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutableInstall.java
+++ /dev/null
Binary files differ
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 b78efba..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutablePackagedInstall.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package org.eclipse.update.tests.regularInstall;

-/*

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

- * All Rights Reserved.

- */

-import java.io.File;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-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 URL("file", null, dataPath + "ExecutableFeaturePackagedSite/data2/");

-		ISite remoteSite = SiteManager.getSite(newURL);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE);

-		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();

-			localSite.install(remoteFeature, null);

-			

-			if (remoteFeature instanceof FeaturePackaged) packFeature = true;

-			if (remoteFeature instanceof FeatureExecutable) execFeature = true;

-

-			// verify

-			String site = localSite.getURL().getFile();

-			IPluginEntry[] entries = remoteFeature.getPluginEntries();

-			assertTrue("no plugins entry", (entries != null && entries.length != 0));

-			String pluginName = entries[0].getIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-			assertTrue("plugin files not installed locally", pluginFile.exists());

-

-			File featureFile = new File(site, SiteFile.INSTALL_FEATURE_PATH + remoteFeature.getIdentifier().toString());

-			assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());

-

-			File featureFileXML = new File(site, SiteFile.INSTALL_FEATURE_PATH + remoteFeature.getIdentifier().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 URL("file", null, dataPath + "ExecutableFeaturePackagedSite/data/");

-		ISite remoteSite = SiteManager.getSite(newURL);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE);

-		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();

-			localSite.install(remoteFeature, null);

-			

-			if (remoteFeature instanceof FeaturePackaged) packFeature = true;

-			if (remoteFeature instanceof FeatureExecutable) execFeature = true;

-

-			// verify

-			String site = localSite.getURL().getFile();

-			IPluginEntry[] entries = remoteFeature.getPluginEntries();

-			assertTrue("no plugins entry", (entries != null && entries.length != 0));

-			String pluginName = entries[0].getIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-			assertTrue("plugin files not installed locally", pluginFile.exists());

-

-			File featureFile = new File(site, SiteFile.INSTALL_FEATURE_PATH + remoteFeature.getIdentifier().toString());

-			assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());

-

-			File featureFileXML = new File(site, SiteFile.INSTALL_FEATURE_PATH + remoteFeature.getIdentifier().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);

-

-

-	}

-	

-}
\ No newline at end of file
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 121e1b5..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestGetFeature.java
+++ /dev/null
Binary files differ
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 0f454a0..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstall.java
+++ /dev/null
@@ -1,232 +0,0 @@
-package org.eclipse.update.tests.regularInstall;

-/*

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

- * All Rights Reserved.

- */

-import java.io.File;

-import java.net.MalformedURLException;

-import java.net.URL;

-

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

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

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

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

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestInstall extends UpdateManagerTestCase {

-	

-	

-	public class Listener implements ISiteChangedListener{

-		

-		public boolean notified = false;

-		/*

-		 * @see ISiteChangedListener#featureUpdated(IFeature)

-		 */

-		public void featureUpdated(IFeature feature) {}

-

-			/*

-		 * @see ISiteChangedListener#featureInstalled(IFeature)

-		 */

-		public void featureInstalled(IFeature feature) {

-			notified = true;

-			System.out.println("Notified Feature Installed");

-		}

-

-		/*

-		 * @see ISiteChangedListener#featureUninstalled(IFeature)

-		 */

-		public void featureUninstalled(IFeature feature) {}

-

-		public boolean isNotified() {

-			return notified;

-		}

-}	

-	

-	/**

-	 * Constructor for Test1

-	 */

-	public TestInstall(String arg0) {

-		super(arg0);

-	}

-

-	private IFeature getFeature1(ISite site) throws MalformedURLException, CoreException {

-		URL id = UpdateManagerUtils.getURL(site.getURL(), "features/org.eclipse.update.core.tests.feature1_1.0.4.jar", null);

-		FeaturePackaged remoteFeature = new FeaturePackaged(id, site);

-		//remoteFeature.initializeFeature();

-		return remoteFeature;

-	}

-

-	public void testFileSite() throws Exception {

-

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE);

-		IFeature remoteFeature = getFeature1(remoteSite);

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE);

-		localSite.install(remoteFeature, null);

-

-		// verify

-		String site = localSite.getURL().getFile();

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-		String pluginName = entries[0].getIdentifier().toString();

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin files not installed locally", pluginFile.exists());

-

-		File featureFile = new File(site, SiteFile.INSTALL_FEATURE_PATH + remoteFeature.getIdentifier().toString());

-		assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());

-		//cleanup

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));

-

-	}

-	private IFeature getFeature2(ISite site) throws MalformedURLException, CoreException {

-		URL id = UpdateManagerUtils.getURL(site.getURL(), "features/features2.jar", null);

-		FeaturePackaged remoteFeature = new FeaturePackaged(id, site);

-		//remoteFeature.initializeFeature();

-		return remoteFeature;

-	}

-

-	public void testHTTPSite() throws Exception {

-

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE);

-		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();

-				break;

-			}

-		}

-

-		assertNotNull("Cannot find feature2.jar on site", remoteFeature);

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE);

-		localSite.install(remoteFeature, 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 (features[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 = UpdateManagerUtils.getPath(localSite.getURL());			

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-

-		String pluginName = entries[0].getIdentifier().toString();

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin info not installed locally", pluginFile.exists());

-

-		File featureFile = new File(site, SiteFile.INSTALL_FEATURE_PATH + remoteFeature.getIdentifier().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(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		

-

-		URL INSTALL_SITE = null;

-		try {

-			INSTALL_SITE = new URL("http", bundle.getString("HTTP_HOST_1"), bundle.getString("HTTP_PATH_2"));

-		} catch (Exception e) {

-			fail(e.toString());

-			e.printStackTrace();

-		}

-

-		ISite remoteSite = SiteManager.getSite(INSTALL_SITE);

-		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();

-				break;

-			}

-		}

-

-		assertNotNull("Cannot find help.jar on site", remoteFeature);

-		ILocalSite localSite = SiteManager.getLocalSite();

-		IConfigurationSite site = localSite.getCurrentConfiguration().getConfigurationSites()[0];

-		Listener listener = new Listener();

-		site.getSite().addSiteChangedListener(listener);

-		

-		site.getSite().install(remoteFeature, null);

-

-

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-

-		String sitePath = UpdateManagerUtils.getPath(site.getSite().getURL());			

-		String pluginName = entries[0].getIdentifier().toString();

-		File pluginFile = new File(sitePath, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin info not installed locally", pluginFile.exists());

-

-		File featureFile = new File(sitePath, SiteFile.INSTALL_FEATURE_PATH + remoteFeature.getIdentifier().toString());

-		assertTrue("feature info not installed locally", featureFile.exists());

-

-		//cleanup

-		File file = new File(site.getSite().getURL().getFile()+File.separator+SiteFile.INSTALL_FEATURE_PATH+remoteFeature.getIdentifier());

-		UpdateManagerUtils.removeFromFileSystem(file);

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-

-		site.getSite().removeSiteChangedListener(listener);

-		assertTrue("Listener hasn't received notification",listener.isNotified());

-	}

-	

-	

-	public void testFileSiteWithoutSiteXML() throws Exception {

-		

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE);

-		IFeature remoteFeature = getFeature1(remoteSite);

-		IConfigurationSite localSite = SiteManager.getLocalSite().getCurrentConfiguration().getConfigurationSites()[0];

-		localSite.getSite().install(remoteFeature, 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+SiteFile.INSTALL_FEATURE_PATH+remoteFeature.getIdentifier());

-		UpdateManagerUtils.removeFromFileSystem(file);

-		file = new File(localSite.getSite().getURL().getFile()+File.separator+SiteFile.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+SiteFile.DEFAULT_PLUGIN_PATH+"org.eclipse.update.core.tests.feature1.plugin2_5.0.0");

-		UpdateManagerUtils.removeFromFileSystem(file);

-		File localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		

-		

-		ISite site = SiteManager.getSite(new URL("http://www.eclipse.org/"));

-		features = site.getFeatureReferences();

-		if (features.length!=0) fail("The site contains feature... it is an HTTP site without an XML file, so it should not contain any features");

-		

-	}

-	

-	

-}
\ No newline at end of file
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 c638eb2..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestLocalSite.java
+++ /dev/null
@@ -1,263 +0,0 @@
-package org.eclipse.update.tests.regularInstall;

-/*

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

- * All Rights Reserved.

- */

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.core.boot.IPlatformConfiguration;

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

-import org.eclipse.update.internal.core.ConfigurationPolicy;

-import org.eclipse.update.internal.core.InternalSiteManager;

-import org.eclipse.update.internal.core.SiteLocal;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-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(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		InternalSiteManager.localSite=null;	

-

-

-		ILocalSite site = SiteManager.getLocalSite();

-		assertTrue("the local site already contains a config state, test cannot be executed",site.getCurrentConfiguration().getLabel().equals(SiteLocal.DEFAULT_CONFIG_LABEL));

-		site.save();

-		URL location = ((SiteLocal)site).getLocation();

-		String filePath = new URL(location,SiteLocal.DEFAULT_CONFIG_FILE).getFile();

-		File file = new File(filePath);

-		assertTrue("config file hasn't been saved in :"+filePath, file.exists());

-		assertTrue("Local site hasn't been saved in :"+localFile.getAbsolutePath(),localFile.exists());

-		

-		// cleanup

-		UpdateManagerUtils.removeFromFileSystem(file);

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		

-

-	}

-	

-	public void testDefaultConfigFile() throws Exception {

-

-		//clean up

-		File localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		InternalSiteManager.localSite=null;

-

-		ILocalSite site = SiteManager.getLocalSite();

-		assertTrue("the local site already contains a config state, test cannot be executed",site.getCurrentConfiguration().getLabel().equals(SiteLocal.DEFAULT_CONFIG_LABEL));

-		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().getConfigurationSites().length!=0);

-		

-		System.out.println("Default Config Site is :"+site.getCurrentConfiguration().getConfigurationSites()[0].getSite().getURL().toExternalForm());

-		

-		// cleanup

-		URL location = ((SiteLocal)site).getLocation();		

-		String filePath = new URL(location,SiteLocal.DEFAULT_CONFIG_FILE).getFile();

-		File file = new File(filePath);

-		UpdateManagerUtils.removeFromFileSystem(file);		

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		

-

-	}

-	

-	public void testInstallFeatureSaveConfig() throws Exception {

-

-		// cleanup

-		File localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE);

-		IFeature feature = remoteSite.getFeatureReferences()[0].getFeature();

-		

-		// we are not checking if this is read only

-		IInstallConfiguration newConfig = site.cloneCurrentConfiguration(null,"new Label");

-		//IInstallConfiguration newConfig = site.getCurrentConfiguration();

-		IConfigurationSite configSite = newConfig.getConfigurationSites()[0];

-		configSite.setConfigurationPolicy(SiteManager.createConfigurationPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE));

-		site.addConfiguration(newConfig);		

-		configSite.install(feature,null);

-

-				

-		// teh current one points to a real fature

-		// does not throw error.

-		IConfigurationSite configSite2 = site.getCurrentConfiguration().getConfigurationSites()[0];

-		IFeatureReference ref = configSite2.getConfiguredFeatures()[0];

-		IFeature feature2 = ref.getFeature();

-		String configuredFeature = feature2.getLabel();

-

-		assertEquals(feature2.getIdentifier().toString(),"org.eclipse.update.core.tests.feature3_1.0.0");

-		assertTrue("Wrong id  version of feature",feature2.getIdentifier().toString().equalsIgnoreCase("org.eclipse.update.core.tests.feature3_1.0.0"));

-		

-		// test only 2 install config in local site

-		assertTrue("wrong number of history in Local site",site.getConfigurationHistory().length==2);

-		

-		// test only 1 site in current config

-		assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfigurationSites().length==1);

-		

-		//test only one feature for the site

-		assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfigurationSites()[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();

-		File file = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),"DefaultConfig"+time+".xml").getFile());

-		assertTrue("new configuration does not exist", file.exists());

-		

-		// cleanup

-		localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.DEFAULT_CONFIG_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);				

-		UpdateManagerUtils.removeFromFileSystem(file);		

-		localFile = new File(feature2.getURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-

-	}

-	

-	public void testRetriveConfig() throws Exception {

-

-		// cleanup

-		File localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE);

-		IFeature feature = remoteSite.getFeatureReferences()[0].getFeature();

-		

-		// we are not checking if this is read only

-		IInstallConfiguration newConfig = site.cloneCurrentConfiguration(null,"new Label");

-		IConfigurationSite configSite = newConfig.getConfigurationSites()[0];

-		configSite.setConfigurationPolicy(SiteManager.createConfigurationPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE));

-		site.addConfiguration(newConfig);		

-		configSite.install(feature,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();

-		File file = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),"DefaultConfig"+time+".xml").getFile());

-		assertTrue("new configuration does not exist", file.exists());

-		

-		// teh current one points to a real fature

-		// does not throw error.

-		IConfigurationSite configSite2 = site.getCurrentConfiguration().getConfigurationSites()[0];

-		IFeatureReference ref = configSite2.getConfiguredFeatures()[0];

-		IFeature feature2 = ref.getFeature();

-		String configuredFeature = feature2.getLabel();

-		assertEquals(feature2.getIdentifier().toString(),"org.eclipse.update.core.tests.feature3_1.0.0");

-		assertTrue("Wrong id  version of feature",feature2.getIdentifier().toString().equalsIgnoreCase("org.eclipse.update.core.tests.feature3_1.0.0"));

-		

-		// test only 2 install config in local site

-		assertTrue("wrong number of history in Local site",site.getConfigurationHistory().length==2);

-		

-		// test only 1 site in current config

-		assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfigurationSites().length==1);

-		

-		//test only one feature for the site

-		assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfigurationSites()[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(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.DEFAULT_CONFIG_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);				

-		UpdateManagerUtils.removeFromFileSystem(file);		

-	}

-

-	public void testRetriveConfigHTTPInstall() throws Exception {

-

-		// cleanup

-		File localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE);

-		IFeature feature = remoteSite.getFeatureReferences()[0].getFeature();

-		

-		// we are not checking if this is read only

-		IInstallConfiguration newConfig = site.cloneCurrentConfiguration(null,"new Label");

-		IConfigurationSite configSite = newConfig.getConfigurationSites()[0];

-		configSite.setConfigurationPolicy(SiteManager.createConfigurationPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE));

-		site.addConfiguration(newConfig);		

-		configSite.install(feature,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();

-		

-		// check

-		// there are 2 configuration

-		String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();

-		File file = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),"DefaultConfig"+time+".xml").getFile());

-		assertTrue("new configuration does not exist", file.exists());

-		

-		// teh current one points to a real fature

-		// does not throw error.

-		IConfigurationSite configSite2 = site.getCurrentConfiguration().getConfigurationSites()[0];

-		//FIXME: broken (Dec 4th 2001)

-		IFeatureReference ref = configSite2.getConfiguredFeatures()[0];

-		IFeature feature2 = ref.getFeature();

-		String configuredFeature = feature2.getLabel();

-		assertEquals(feature2.getIdentifier().toString(),"org.test1.ident1_1.0.0");

-		assertTrue("Wrong id  version of feature",feature2.getIdentifier().toString().equalsIgnoreCase("org.test1.ident1_1.0.0"));

-		

-		// test only 2 install config in local site

-		assertTrue("wrong number of history in Local site",site.getConfigurationHistory().length==2);

-		

-		// test only 1 site in current config

-		assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfigurationSites().length==1);

-		

-		//test only one feature for the site

-		assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfigurationSites()[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(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocation(),SiteLocal.DEFAULT_CONFIG_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);				

-		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/uivalues/AllCoreUITests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/AllCoreUITests.java
deleted file mode 100644
index 60669b4..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/AllCoreUITests.java
+++ /dev/null
Binary files differ
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 da62935..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/TestUILabel.java
+++ /dev/null
Binary files differ
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 905c7db..0000000
--- a/update/org.eclipse.update.tests.core/test.xml
+++ /dev/null
@@ -1,41 +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}/fragments/org.eclipse.test/library.xml"/>

-  <!-- 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="org.eclipse.update.tests.AllTests"/>

-    </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"/>

-  <!-- 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>

-</project>
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/.classpath b/update/org.eclipse.update.ui.forms/.classpath
deleted file mode 100644
index 476c5d9..0000000
--- a/update/org.eclipse.update.ui.forms/.classpath
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <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.apache.xerces/xerces.jar" sourcepath="ECLIPSE_HOME/plugins/org.apache.xerces/xercessrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.core.resources/resources.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.core.resources/resourcessrc.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.help/help.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.help/helpsrc.zip"/>
-    <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="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="var" path="WS/swt.jar" rootpath="" sourcepath="WS/swtsrc.zip"/>
-    <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/.vcm_meta b/update/org.eclipse.update.ui.forms/.vcm_meta
deleted file mode 100644
index 67f905f..0000000
--- a/update/org.eclipse.update.ui.forms/.vcm_meta
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<comment></comment>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<nature id="org.eclipse.pde.PluginNature"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-	<builder name="org.eclipse.pde.ManifestBuilder">

-	</builder>

-	<builder name="org.eclipse.pde.SchemaBuilder">

-	</builder>

-</project-description>

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 c801838..0000000
--- a/update/org.eclipse.update.ui.forms/about.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html>

-<head>

-<meta name="about-version" content="2.0">

-<meta name="date" content="011205">

-<meta name="third-party" content="no">

-<meta name="other-licenses" content="no">

-<meta name="cryptography" content="no">

-<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>

-<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" face="Arial,Helvetica">About This Plug-in</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

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

-<h3>License</h3>

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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> ("CPL").  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 ("Other License"), any modifications, enhancements and/or

-other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the

-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available

-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also

-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of

-the CPL.</p>

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

-</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 842d677..0000000
--- a/update/org.eclipse.update.ui.forms/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.forms.jar = src/

-bin.includes = plugin.properties,\

-               *.jar,\

-               plugin.xml,\

-               about.html

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 fe07b04..0000000
--- a/update/org.eclipse.update.ui.forms/plugin.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<plugin

-   id="org.eclipse.update.ui.forms"

-   name="Install/Update Forms"

-   version="2.0.0"

-   provider-name="Object Technology International"

-   class="">

-<requires>

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

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

-   <import plugin="org.eclipse.ui"/>

-</requires>

-

-<runtime>

-   <library name="forms.jar"/>

-</runtime>

-</plugin>

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/AbstractForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/AbstractForm.java
deleted file mode 100644
index d5256fb..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/AbstractForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/AbstractSectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/AbstractSectionForm.java
deleted file mode 100644
index cd5f57d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/AbstractSectionForm.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-import java.util.*;

-import org.eclipse.swt.widgets.*;

-

-/**

- * 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 {

-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 void doGlobalAction(String actionId) {

-	Display display = getControl().getDisplay();

-	Control focusControl = display.getFocusControl();

-	if (focusControl==null) return;

-

-	if (canPerformDirectly(actionId, focusControl)) return;

-	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) {

-		targetSection.doGlobalAction(actionId);

-	}

-}

-

-public void dispose() {

-	if (sections != null) {

-		for (Iterator iter = sections.iterator(); iter.hasNext();) {

-			FormSection section = (FormSection) iter.next();

-			section.dispose();

-		}

-	}

-	super.dispose();

-}

-

-}

-

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/CustomWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/CustomWorkbook.java
deleted file mode 100644
index fc5bd4a..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/CustomWorkbook.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.graphics.*;

-import java.util.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-import org.eclipse.ui.part.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.swt.custom.*;

-

-

-public class CustomWorkbook implements IFormWorkbook {

-	private Hashtable pages;

-	private IFormPage sourcePage;

-	private IFormPage lastFormPage;

-	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 (page.isSource()) sourcePage = page;

-	

-	if (firstPageSelected && currentPage == null)

-		selectPage(page);

-}

-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);

-		}

-	});

-	// 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) {

-	for (Iterator iter = listeners.iterator(); iter.hasNext();) {

-		IFormSelectionListener listener = (IFormSelectionListener) iter.next();

-		listener.formSelected(page);

-	}

-}

-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);

-		}

-	});

-}

-public void selectPage(final IFormPage page) {

-	final IFormPage oldPage = currentPage;

-	currentPage = page;

-

-	// It may take a while

-	BusyIndicator.showWhile(tabFolder.getDisplay(), new Runnable() {

-		public void run() {

-			switchPages(oldPage, page);

-		}

-	});

-}

-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) {

-	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);

-}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/ExpandableGroup.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/ExpandableGroup.java
deleted file mode 100644
index 57d7636..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/ExpandableGroup.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormButton.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormButton.java
deleted file mode 100644
index 02f03dd..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormButton.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-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 org.eclipse.swt.graphics.Image getDisabledImage() {

-	return disabledImage;

-}

-public org.eclipse.swt.graphics.Image getHoverImage() {

-	return hoverImage;

-}

-public org.eclipse.swt.graphics.Image getImage() {

-	return image;

-}

-public void setDisabledImage(org.eclipse.swt.graphics.Image newDisabledImage) {

-	disabledImage = newDisabledImage;

-}

-public void setEnabled(boolean enabled) {

-	button.setEnabled(enabled);

-	updateImage();

-}

-public void setHoverImage(org.eclipse.swt.graphics.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/FormEntry.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormEntry.java
deleted file mode 100644
index 290f4d7..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormEntry.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-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); // 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);

-	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/FormLabel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormLabel.java
deleted file mode 100644
index 2eebc20..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormLabel.java
+++ /dev/null
@@ -1,162 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.*;

-import java.text.*;

-

-/**

- * FormText is a windowless control that

- * draws text in the provided context.

- */

-public class FormLabel extends Canvas {

-	private String text="";

-	int textMarginWidth=5;

-	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);

-			}

-		});

-	}

-	public String getText() {

-		return text;

-	}

-	public void setText(String text) {

-		this.text = text;

-	}

-	

-	public void setUnderlined(boolean underlined) {

-		this.underlined = underlined;

-	}

-	

-	public boolean isUnderlined() {

-		return underlined;

-	}

-	

-	public Point computeSize(int wHint, int hHint, boolean changed) {

-		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);

-		   }

-	   	}

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormSection.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormSection.java
deleted file mode 100644
index 5483fb3..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormSection.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormWidgetFactory.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormWidgetFactory.java
deleted file mode 100644
index 067be7b..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/FormWidgetFactory.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/HTMLTableLayout.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/HTMLTableLayout.java
deleted file mode 100644
index 197aa95..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/HTMLTableLayout.java
+++ /dev/null
@@ -1,643 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import java.util.*;

-import org.eclipse.swt.SWT;

-

-/**

- * 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 {

-	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();

-		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++) {

-					if (k>j) cwidth += horizontalSpacing;

-					cwidth += columnWidths[k];

-				}

-				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];

-				if (j>0) x+= horizontalSpacing;

-				placeControl(child, td, x, y, rowHeight);

-				x += td.compWidth;

-			}

-			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;

-	Vector rows;

-	Control[] children;

-	TableData spacerSpec;

-	Vector growingCols = new Vector();

-

-	// 

-	children = composite.getChildren();

-

-	// 

-	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();

-		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) {

-		   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 totalWidth=0;

-		int totalHeight=0;

-		int x = leftMargin;

-		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 HTMLTableLayout) {

-						minWidth = ((HTMLTableLayout)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 HTMLTableLayout)

-		   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 HTMLTableLayout) {

-						maxWidth = ((HTMLTableLayout)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());

-		}

-	}

-}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/HyperlinkAdapter.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/HyperlinkAdapter.java
deleted file mode 100644
index ff68817..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/HyperlinkAdapter.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-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/HyperlinkHandler.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/HyperlinkHandler.java
deleted file mode 100644
index df1e0f1..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/HyperlinkHandler.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.graphics.*;

-import java.util.*;

-import org.eclipse.swt.*;

-

-public class HyperlinkHandler implements MouseListener, 

-										 MouseTrackListener, 

-										 SelectionListener,

-										 PaintListener {

-	public static final int UNDERLINE_NEVER = 1;

-	public static final int UNDERLINE_ROLLOVER = 2;

-	public static final int UNDERLINE_ALWAYS = 3;

-

-	private Cursor hyperlinkCursor;

-	private Cursor busyCursor;

-	private boolean hyperlinkCursorUsed=true;

-	private int hyperlinkUnderlineMode=UNDERLINE_ALWAYS;

-	private Color background;

-	private Color foreground;

-	private Color activeBackground;

-	private Color activeForeground;

-	private Hashtable hyperlinkListeners;

-	private Control lastActivated;

-	private Control lastEntered;

-

-public HyperlinkHandler() {

-	hyperlinkListeners = new Hashtable();

-	hyperlinkCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_HAND);

-	busyCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_WAIT);

-}

-public void dispose() {

-	hyperlinkCursor.dispose();

-	busyCursor.dispose();

-}

-public Color getActiveBackground() {

-	return activeBackground;

-}

-public Color getActiveForeground() {

-	return activeForeground;

-}

-public Color getBackground() {

-	return background;

-}

-public Cursor getBusyCursor() {

-	return busyCursor;

-}

-public Color getForeground() {

-	return foreground;

-}

-public Cursor getHyperlinkCursor() {

-	return hyperlinkCursor;

-}

-public int getHyperlinkUnderlineMode() {

-	return hyperlinkUnderlineMode;

-}

-public Control getLastLink() {

-	return lastActivated;

-}

-public boolean isHyperlinkCursorUsed() {

-	return hyperlinkCursorUsed;

-}

-

-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;

-	linkActivated((Control)e.widget);

-}

-

-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(busyCursor);

-		action.linkActivated(link);

-		if (!link.isDisposed()) 

-	   		link.setCursor(isHyperlinkCursorUsed()?hyperlinkCursor:null);

-	}

-}

-

-private void linkEntered(Control link) {

-	if (lastEntered!=null && lastEntered instanceof SelectableFormLabel) {

-		SelectableFormLabel fl = (SelectableFormLabel)lastEntered;

-		linkExited(fl);

-	}

-	if (isHyperlinkCursorUsed())

-		link.setCursor(hyperlinkCursor);

-	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 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;

-}

-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();

-}

-

-

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IForm.java
deleted file mode 100644
index 83af171..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IForm.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-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 void 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();

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormPage.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormPage.java
deleted file mode 100644
index 374626c..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormPage.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-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/IFormSelectionListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormSelectionListener.java
deleted file mode 100644
index 80b9c99..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormSelectionListener.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-public interface IFormSelectionListener {

-	public void formSelected(IFormPage page);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormTextListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormTextListener.java
deleted file mode 100644
index e7e2d84..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormTextListener.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-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/IFormWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormWorkbook.java
deleted file mode 100644
index ec614e8..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IFormWorkbook.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.graphics.*;

-import java.util.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-import org.eclipse.ui.part.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.jface.window.*;

-

-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);

-void setFirstPageSelected(boolean selected);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IHyperlinkListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IHyperlinkListener.java
deleted file mode 100644
index 8f282f1..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/IHyperlinkListener.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.widgets.Label;

-

-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/NoTabsWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/NoTabsWorkbook.java
deleted file mode 100644
index d56c4da..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/NoTabsWorkbook.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.graphics.*;

-import java.util.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-import org.eclipse.ui.part.*;

-import org.eclipse.jface.resource.*;

-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);

-}

-

-public void createControl(Composite parent) {

-	pageBook = new PageBook(parent, SWT.NULL);

-}

-

-private void fireSelectionChanged(IFormPage page) {

-	for (Iterator iter = listeners.iterator(); iter.hasNext();) {

-		IFormSelectionListener listener = (IFormSelectionListener) iter.next();

-		listener.formSelected(page);

-	}

-}

-

-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)) {

-		page.getControl().dispose();

-		pages.remove(page);

-	}

-}

-

-public void selectPage(final IFormPage page) {

-	final IFormPage oldPage = currentPage;

-	currentPage = page;

-

-	// It may take a while

-	BusyIndicator.showWhile(pageBook.getDisplay(), new Runnable() {

-		public void run() {

-			switchPages(oldPage, page);

-		}

-	});

-}

-

-public void setFirstPageSelected(boolean newFirstPageSelected) {

-	firstPageSelected = newFirstPageSelected;

-}

-

-private void switchPages(IFormPage oldPage, IFormPage newPage) {

-	if (oldPage != null && oldPage!=newPage) {

-		oldPage.becomesInvisible(newPage);

-	}

-	if (newPage.getControl() == null)

-		newPage.createControl(pageBook);

-	pageBook.showPage(newPage.getControl());

-

-	newPage.becomesVisible(oldPage);

-	fireSelectionChanged(newPage);

-}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/ScrollableSectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/ScrollableSectionForm.java
deleted file mode 100644
index 951cc4a..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/ScrollableSectionForm.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.custom.*;

-import org.eclipse.swt.events.*;

-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;

-	

-	private static final int HBAR_INCREMENT = 10;

-	private static final int HPAGE_INCREMENT = 40;

-	private static final int VBAR_INCREMENT = 10;

-	private static final int VPAGE_INCREMENT = 40;

-

-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);

-		/*

-		Point formSize = formControl.computeSize(SWT.DEFAULT, SWT.DEFAULT);

-		sc.setMinWidth(formSize.x);

-		sc.setMinHeight(formSize.y);

-		*/

-	}

-	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);

-	}

-	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(HBAR_INCREMENT);

-		hbar.setPageIncrement(HPAGE_INCREMENT);

-	}

-	ScrollBar vbar = scomp.getVerticalBar();

-	if (vbar!=null) {

-		vbar.setIncrement(VBAR_INCREMENT);

-		vbar.setPageIncrement(VPAGE_INCREMENT);

-	}	

-}

-

-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.setMinWidth(newSize.x);

-	sc.setMinHeight(newSize.y);

-}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/SectionChangeManager.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/SectionChangeManager.java
deleted file mode 100644
index 2a1babe..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/SectionChangeManager.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-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/SectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/SectionForm.java
deleted file mode 100644
index 3014403..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/SectionForm.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-import org.eclipse.swt.events.*;

-import java.util.*;

-import org.eclipse.ui.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.jface.util.*;

-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);

-			int x = 0;

-			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];

-			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());

-	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(factory.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 propertyChange(PropertyChangeEvent event) {

-	titleFont = JFaceResources.getHeaderFont();

-	if (control!=null) { 

-		control.layout(true);

-		control.redraw();

-	}

-}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/SelectableFormLabel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/SelectableFormLabel.java
deleted file mode 100644
index c518c6c..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/SelectableFormLabel.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.update.ui.forms;

-

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.SWT;

-

-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) {

-				if (e.detail != SWT.TRAVERSE_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;

-	}

-	

-	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/TableData.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/TableData.java
deleted file mode 100644
index d61447f..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/TableData.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.graphics.Point;

-

-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;

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/TableLayoutTest.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/TableLayoutTest.java
deleted file mode 100644
index e4ec8fc..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/TableLayoutTest.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.layout.FillLayout;

-import org.eclipse.swt.custom.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.events.*;

-

-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.makeColumnsEqualWidth=false;

-     //layout.marginWidth = layout.marginHeight = 0;

-     //layout.horizontalSpacing = 0;

-     c.setLayout(layout);

-     

-     Label label;

-     CLabel clabel;

-     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);

-     

-     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 ();

-}

-

-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);

-}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/WebForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/WebForm.java
deleted file mode 100644
index 1aa1847..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/WebForm.java
+++ /dev/null
@@ -1,197 +0,0 @@
-package org.eclipse.update.ui.forms;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.layout.*;

-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 java.util.*;

-import org.eclipse.ui.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.jface.util.*;

-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());

-	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);

-	form.setFocus();

-	return scrollComposite;

-}

-

-private 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;

-	}

-	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.layout();

-	}

-}

-

-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);

-}

-

-private void paint(PaintEvent e) {

-	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((Composite)control) - headingUnderlineImage.getBounds().height;

-		gc.drawImage(headingUnderlineImage, 0, y);

-	}

-}

-

-}

diff --git a/update/org.eclipse.update.ui/.classpath b/update/org.eclipse.update.ui/.classpath
deleted file mode 100644
index 568c736..0000000
--- a/update/org.eclipse.update.ui/.classpath
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <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.apache.xerces/xerces.jar" sourcepath="ECLIPSE_HOME/plugins/org.apache.xerces/xercessrc.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.core.resources/resources.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.core.resources/resourcessrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.help/help.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.help/helpsrc.zip"/>
-    <classpathentry kind="src" path="/org.eclipse.update.core"/>
-    <classpathentry kind="src" path="/org.eclipse.update.ui.forms"/>
-    <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="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="var" path="WS/swt.jar" sourcepath="WS/swtsrc.zip"/>
-    <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 c5e82d7..0000000
--- a/update/org.eclipse.update.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/.vcm_meta b/update/org.eclipse.update.ui/.vcm_meta
deleted file mode 100644
index 0c9e8d8..0000000
--- a/update/org.eclipse.update.ui/.vcm_meta
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<nature id="org.eclipse.pde.PluginNature"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-	<builder name="org.eclipse.pde.ManifestBuilder">

-	</builder>

-	<builder name="org.eclipse.pde.SchemaBuilder">

-	</builder>

-</project-description>

diff --git a/update/org.eclipse.update.ui/about.html b/update/org.eclipse.update.ui/about.html
deleted file mode 100644
index c801838..0000000
--- a/update/org.eclipse.update.ui/about.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html>

-<head>

-<meta name="about-version" content="2.0">

-<meta name="date" content="011205">

-<meta name="third-party" content="no">

-<meta name="other-licenses" content="no">

-<meta name="cryptography" content="no">

-<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>

-<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" face="Arial,Helvetica">About This Plug-in</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

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

-<h3>License</h3>

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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> ("CPL").  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 ("Other License"), any modifications, enhancements and/or

-other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the

-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available

-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also

-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of

-the CPL.</p>

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

-</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 abda505..0000000
--- a/update/org.eclipse.update.ui/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.updateui.jar = src/

-bin.includes = html/,\

-               plugin.properties,\

-               icons/,\

-               *.jar,\

-               plugin.xml,\

-               about.html

diff --git a/update/org.eclipse.update.ui/html/default.css b/update/org.eclipse.update.ui/html/default.css
deleted file mode 100644
index 123fb06..0000000
--- a/update/org.eclipse.update.ui/html/default.css
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/html/feature.html b/update/org.eclipse.update.ui/html/feature.html
deleted file mode 100644
index bd3616e..0000000
--- a/update/org.eclipse.update.ui/html/feature.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

-<html>

-<head>

-<title>Feature Details</title>

-<link rel="stylesheet" type="text/css" href="$HTMLBase$/default.css">

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-</head>

-<body bgColor="#FFFFFF" style="margin:0;" link="#000080">

-$JavaScript$

-

-<script language="JavaScript">

-var infosetTitle = "$label$";

-</script>

-

-<div style="position:absolute; left:0; top:0; ">

-     <span style="position: absolute; left: 0; top: 0; z-index: -1">

-     <img border="0" src="$HTMLBase$/images/banner.gif" width="604" height="45"  margin=0>

-     </span>

-</div>

-

-<div id="bannerTitle" style="position:absolute; left:10; top:10; font-size: 12pt; font-weight:bold;">

-  <script language="JavaScript"> 

-	 if (document.getElementById)

-	 {

-	 	// code for IE5 and NS6

-	 	var div = document.getElementById("bannerTitle");

-	 	if (div)

-	 	{

-	 		//div.document.write(infosetTitle);

-	 		//div.document.close();

-	 		div.appendChild(document.createTextNode(infosetTitle));

-	 	}

-	 }

-     else if (document.all)

-     {

-         // code for IE4 (even though we require IE5...)

-         var div = document.all("bannerTitle");

-         if (div)

-             div.document.write(infosetTitle); 

-     }

-     else if (document.layers) 

-     {

-     	 // code for NS4

-     	 if (window.document.bannerTitle)

-              window.document.bannerTitle.document.write(infosetTitle);

-     }

-  </script>

-</div>

-

-<p>&nbsp;</p>

-

-<p>&nbsp;</p>

-<div style="margin-left: 10; margin-right: 10;">

-<table border="0" width="100%">

-  <tr>

-    <td width="50%" nowrap><b><font color="#006699">Provider<br>

-      </font></b>$provider$

-      <p><b><font color="#006699">Version<br>

-      </font></b>$version$</p>

-      <p><b><font color="#006699">Size<br>

-      </font></b>$size$</p>

-    </td>

-    <td valign="middle" align="center"><img src="$image$"></img></td>

-  </tr>

-</table>

-<p><b><font color="#006699">Description<br>

-</font></b>$description$</p>

-<SCRIPT>

-   if (infoURL!=null)

-      document.write('<p><a href="'+infoURL+'">More Info</a>');

-</SCRIPT>

-<form method="POST" action="--WEBBOT-SELF--">

-  <!--webbot bot="SaveResults" U-File="update://index.html" S-Format="HTML/BR"

-  S-Label-Fields="TRUE" B-Reverse-Chronology="FALSE" S-Builtin-Fields

-  S-Form-Fields -->

-  <div align="right">

-    <table border="0" width="182">

-      <tr>

-        <td width="205" valign="middle" align="center"><input type="button" value="Checklist" name="Schedule" style="font-size: 8pt; margin:0;" onClick="location.replace('update://action/uninstall?key=value+key2=value')" class="body"></td>

-        <td width="90" valign="middle" align="center"><font size="1"><input type="button" value="Install Now!" name="InstallNow" style="font-size: 8pt;" onClick="location.replace('update://index.html')"></font></td>

-      </tr>

-    </table>

-  </div>

-  <p align="right">&nbsp;</p>

-</form>

-<p>&nbsp;</p>

-</div>

-</body>

-</html>

diff --git a/update/org.eclipse.update.ui/html/images/banner.gif b/update/org.eclipse.update.ui/html/images/banner.gif
deleted file mode 100644
index d4125ed..0000000
--- a/update/org.eclipse.update.ui/html/images/banner.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/html/images/provider.gif b/update/org.eclipse.update.ui/html/images/provider.gif
deleted file mode 100644
index a83a1a5..0000000
--- a/update/org.eclipse.update.ui/html/images/provider.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/html/images/topic.gif b/update/org.eclipse.update.ui/html/images/topic.gif
deleted file mode 100644
index 311f57f..0000000
--- a/update/org.eclipse.update.ui/html/images/topic.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/html/index.html b/update/org.eclipse.update.ui/html/index.html
deleted file mode 100644
index 662a19d..0000000
--- a/update/org.eclipse.update.ui/html/index.html
+++ /dev/null
@@ -1,151 +0,0 @@
-

-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

-<html>

-

-<head>

-<link rel="stylesheet" type="text/css" href="default.css">

-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

-<title>Help</title>

-

-<script language="JavaScript">

-

-/**

- * Handles Netscape 4.7 resize bug we use on Linux

- */

-function resizeFix()

-{ 

-    window.location.reload();

-}

-if (document.layers)

-	window.onresize = resizeFix;

-

-/** 

- * Parses the query string.

- */

-function parseQueryString (str) 

-{

-    //str = str ? str : unescape(document.URL);

-    str = str ? str : unescape(window.location.href);

-    var longquery = str.split("?");

-    if (longquery.length <= 1) return "";

-    var query = longquery[1];

-    var args = new Object();

-    if (query) 

-    {

-        var fields = query.split('&');

-        for (var f = 0; f < fields.length; f++) 

-        {

-            var field = fields[f].split('=');

-            args[unescape(field[0].replace(/\+/g, ' '))] = unescape(field[1].replace(/\+/g, ' '));

-        }

-    }

-    return args;

-}

-

-/**

- * Builds a string from its unicode codes.

- * We assume that codes sequence is a comma separated list of unicode codes

- */

-function getUnicodeString(codesSequence)

-{

-    if (!codesSequence) return "";

-  

-    var unicodeString = "";

-    var codes = codesSequence.split(',');

-  

-    for (var i=0; i<codes.length; i++)

-    {

-        unicodeString += String.fromCharCode(codes[i]);

-    }

-    return unicodeString;

-}

-

-// Get the infoset title (passed in as a comma separated list of unicode codes)

-var args = parseQueryString ();

-//var infosetTitle = getUnicodeString(args['title']);

-var infosetTitle = "Welcome to Eclipse Update";

-</script>

-

-

-

-

-</head>

-

-<body bgColor="#FFFFFF" style="margin:0;" link="#000080" >

-<div style="position:absolute; left:0; top:0; ">

-     <span style="position: absolute; left: 0; top: 0; z-index: -1">

-     <img border="0" src="images/banner.gif" width="604" height="45"  margin=0>

-     </span>

-</div>

-

-<div id="bannerTitle" style="position:absolute; left:10; top:13; font-size: 12pt; font-weight:bold;">

-  <script language="JavaScript"> 

-	 if (document.getElementById)

-	 {

-	 	// code for IE5 and NS6

-	 	var div = document.getElementById("bannerTitle");

-	 	if (div)

-	 	{

-	 		//div.document.write(infosetTitle);

-	 		//div.document.close();

-	 		div.appendChild(document.createTextNode(infosetTitle));

-	 	}

-	 }

-     else if (document.all)

-     {

-         // code for IE4 (even though we require IE5...)

-         var div = document.all("bannerTitle");

-         if (div)

-             div.document.write(infosetTitle); 

-     }

-     else if (document.layers) 

-     {

-     	 // code for NS4

-     	 if (window.document.bannerTitle)

-              window.document.bannerTitle.document.write(infosetTitle);

-     }

-  </script>

-</div>

-

-<p><p>&nbsp;</p>

-<p>&nbsp;</p>

-<table border="0" width="100%" height="155" cellpadding="0">

-  <tr>

-    <td width="7%" valign="top" align="right" height="7"><img border="0" src="images/topic.gif" width="16" height="16" align="top" vspace="10">

-      <p>&nbsp;</p>

-    </td>

-    <td width="93%" height="7" valign="top">

-      <p><b><a href="update://Navigate/NewFeatures/">Install New Features</a><br>

-      </b>Go here to browse Eclipse update sites and find new features to install

-      into your platform.</p>

-      <p>&nbsp;</p>

-    </td>

-  </tr>

-  <tr>

-    <td width="7%" valign="top" align="right" height="34"><img border="0" src="images/topic.gif" width="16" height="16" vspace="10"></td>

-    <td width="93%" height="34">

-      <p><b><a href="update://Navigate/Updates/">Updates of The Installed Features</a><br>

-      </b>Check if there are updates available for the features you already have

-      installed.</p>

-      <p>&nbsp;</p>

-    </td>

-  </tr>

-  <tr>

-    <td width="7%" valign="top" align="right" height="37"><img border="0" src="images/topic.gif" width="16" height="16" vspace="10"></td>

-    <td width="93%" height="37">

-      <p><b><a href="update://Navigate/Uninstall/">Uninstall Features</a><br>

-      </b>Uninstall features previously installed on your Eclipse platform.</p>

-      <p>&nbsp;</p>

-    </td>

-  </tr>

-  <tr>

-    <td width="7%" valign="top" align="right" height="29"><img border="0" src="images/topic.gif" width="16" height="16" vspace="10"></td>

-    <td width="93%" height="29">

-      <p><b><a href="update://Navigate/History/">Installation History</a><br>

-      </b>Browse the record of your past installations or revert to a previous

-      stable configuration.</p>

-    </td>

-  </tr>

-</table>

-</body>

-</html>

diff --git a/update/org.eclipse.update.ui/icons/basic/obj16/comp_mf_obj.gif b/update/org.eclipse.update.ui/icons/basic/obj16/comp_mf_obj.gif
deleted file mode 100644
index ba7b17c..0000000
--- a/update/org.eclipse.update.ui/icons/basic/obj16/comp_mf_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/clcl16/backward_nav.gif b/update/org.eclipse.update.ui/icons/full/clcl16/backward_nav.gif
deleted file mode 100644
index 740419b..0000000
--- a/update/org.eclipse.update.ui/icons/full/clcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/clcl16/forward_nav.gif b/update/org.eclipse.update.ui/icons/full/clcl16/forward_nav.gif
deleted file mode 100644
index 7a1511d..0000000
--- a/update/org.eclipse.update.ui/icons/full/clcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/clcl16/go_nav.gif b/update/org.eclipse.update.ui/icons/full/clcl16/go_nav.gif
deleted file mode 100644
index 3ab4d32..0000000
--- a/update/org.eclipse.update.ui/icons/full/clcl16/go_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/clcl16/home_nav.gif b/update/org.eclipse.update.ui/icons/full/clcl16/home_nav.gif
deleted file mode 100644
index 949c2db..0000000
--- a/update/org.eclipse.update.ui/icons/full/clcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/clcl16/print_nav.gif b/update/org.eclipse.update.ui/icons/full/clcl16/print_nav.gif
deleted file mode 100644
index 4dfa8cd..0000000
--- a/update/org.eclipse.update.ui/icons/full/clcl16/print_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/clcl16/refresh_nav.gif b/update/org.eclipse.update.ui/icons/full/clcl16/refresh_nav.gif
deleted file mode 100644
index a063c23..0000000
--- a/update/org.eclipse.update.ui/icons/full/clcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/clcl16/stop_nav.gif b/update/org.eclipse.update.ui/icons/full/clcl16/stop_nav.gif
deleted file mode 100644
index 4eb53ec..0000000
--- a/update/org.eclipse.update.ui/icons/full/clcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/dlcl16/backward_nav.gif b/update/org.eclipse.update.ui/icons/full/dlcl16/backward_nav.gif
deleted file mode 100644
index e2179ad..0000000
--- a/update/org.eclipse.update.ui/icons/full/dlcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/dlcl16/forward_nav.gif b/update/org.eclipse.update.ui/icons/full/dlcl16/forward_nav.gif
deleted file mode 100644
index 0c5af08..0000000
--- a/update/org.eclipse.update.ui/icons/full/dlcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/dlcl16/go_nav.gif b/update/org.eclipse.update.ui/icons/full/dlcl16/go_nav.gif
deleted file mode 100644
index 696ee32..0000000
--- a/update/org.eclipse.update.ui/icons/full/dlcl16/go_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/dlcl16/home_nav.gif b/update/org.eclipse.update.ui/icons/full/dlcl16/home_nav.gif
deleted file mode 100644
index 3c80080..0000000
--- a/update/org.eclipse.update.ui/icons/full/dlcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/dlcl16/print_nav.gif b/update/org.eclipse.update.ui/icons/full/dlcl16/print_nav.gif
deleted file mode 100644
index 56e688a..0000000
--- a/update/org.eclipse.update.ui/icons/full/dlcl16/print_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/dlcl16/refresh_nav.gif b/update/org.eclipse.update.ui/icons/full/dlcl16/refresh_nav.gif
deleted file mode 100644
index b2281b4..0000000
--- a/update/org.eclipse.update.ui/icons/full/dlcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/dlcl16/stop_nav.gif b/update/org.eclipse.update.ui/icons/full/dlcl16/stop_nav.gif
deleted file mode 100644
index 7f0f9b9..0000000
--- a/update/org.eclipse.update.ui/icons/full/dlcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/elcl16/backward_nav.gif b/update/org.eclipse.update.ui/icons/full/elcl16/backward_nav.gif
deleted file mode 100644
index 85188b7..0000000
--- a/update/org.eclipse.update.ui/icons/full/elcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/elcl16/forward_nav.gif b/update/org.eclipse.update.ui/icons/full/elcl16/forward_nav.gif
deleted file mode 100644
index dc28ee1..0000000
--- a/update/org.eclipse.update.ui/icons/full/elcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/elcl16/go_nav.gif b/update/org.eclipse.update.ui/icons/full/elcl16/go_nav.gif
deleted file mode 100644
index 1361e7c..0000000
--- a/update/org.eclipse.update.ui/icons/full/elcl16/go_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/elcl16/home_nav.gif b/update/org.eclipse.update.ui/icons/full/elcl16/home_nav.gif
deleted file mode 100644
index bf2ba86..0000000
--- a/update/org.eclipse.update.ui/icons/full/elcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/elcl16/print_nav.gif b/update/org.eclipse.update.ui/icons/full/elcl16/print_nav.gif
deleted file mode 100644
index e869b2e..0000000
--- a/update/org.eclipse.update.ui/icons/full/elcl16/print_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/elcl16/refresh_nav.gif b/update/org.eclipse.update.ui/icons/full/elcl16/refresh_nav.gif
deleted file mode 100644
index 919423d..0000000
--- a/update/org.eclipse.update.ui/icons/full/elcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/elcl16/stop_nav.gif b/update/org.eclipse.update.ui/icons/full/elcl16/stop_nav.gif
deleted file mode 100644
index a519f44..0000000
--- a/update/org.eclipse.update.ui/icons/full/elcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/obj16/cd_obj.gif b/update/org.eclipse.update.ui/icons/full/obj16/cd_obj.gif
deleted file mode 100644
index 545cbec..0000000
--- a/update/org.eclipse.update.ui/icons/full/obj16/cd_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/obj16/config_obj.gif b/update/org.eclipse.update.ui/icons/full/obj16/config_obj.gif
deleted file mode 100644
index 9afceae..0000000
--- a/update/org.eclipse.update.ui/icons/full/obj16/config_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/obj16/eclipse2_obj.gif b/update/org.eclipse.update.ui/icons/full/obj16/eclipse2_obj.gif
deleted file mode 100644
index d6205ed..0000000
--- a/update/org.eclipse.update.ui/icons/full/obj16/eclipse2_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/obj16/eclipse_obj.gif b/update/org.eclipse.update.ui/icons/full/obj16/eclipse_obj.gif
deleted file mode 100644
index 6ca37e0..0000000
--- a/update/org.eclipse.update.ui/icons/full/obj16/eclipse_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/obj16/feature_obj.gif b/update/org.eclipse.update.ui/icons/full/obj16/feature_obj.gif
deleted file mode 100644
index 7db941e..0000000
--- a/update/org.eclipse.update.ui/icons/full/obj16/feature_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/obj16/site_obj.gif b/update/org.eclipse.update.ui/icons/full/obj16/site_obj.gif
deleted file mode 100644
index 012832b..0000000
--- a/update/org.eclipse.update.ui/icons/full/obj16/site_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/obj16/uninstall_obj.gif b/update/org.eclipse.update.ui/icons/full/obj16/uninstall_obj.gif
deleted file mode 100644
index 6f64766..0000000
--- a/update/org.eclipse.update.ui/icons/full/obj16/uninstall_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/obj16/updates_obj.gif b/update/org.eclipse.update.ui/icons/full/obj16/updates_obj.gif
deleted file mode 100644
index 01ce578..0000000
--- a/update/org.eclipse.update.ui/icons/full/obj16/updates_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/ovr16/current_co.gif b/update/org.eclipse.update.ui/icons/full/ovr16/current_co.gif
deleted file mode 100644
index e179837..0000000
--- a/update/org.eclipse.update.ui/icons/full/ovr16/current_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/ovr16/install_co.gif b/update/org.eclipse.update.ui/icons/full/ovr16/install_co.gif
deleted file mode 100644
index 2a81156..0000000
--- a/update/org.eclipse.update.ui/icons/full/ovr16/install_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/ovr16/installable_co.gif b/update/org.eclipse.update.ui/icons/full/ovr16/installable_co.gif
deleted file mode 100644
index 05ef403..0000000
--- a/update/org.eclipse.update.ui/icons/full/ovr16/installable_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/ovr16/linked_co.gif b/update/org.eclipse.update.ui/icons/full/ovr16/linked_co.gif
deleted file mode 100644
index 4f41910..0000000
--- a/update/org.eclipse.update.ui/icons/full/ovr16/linked_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/ovr16/uninstall_co.gif b/update/org.eclipse.update.ui/icons/full/ovr16/uninstall_co.gif
deleted file mode 100644
index 5a5429a..0000000
--- a/update/org.eclipse.update.ui/icons/full/ovr16/uninstall_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/view16/registry.gif b/update/org.eclipse.update.ui/icons/full/view16/registry.gif
deleted file mode 100644
index 9768acd..0000000
--- a/update/org.eclipse.update.ui/icons/full/view16/registry.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/wizban/form_banner.gif b/update/org.eclipse.update.ui/icons/full/wizban/form_banner.gif
deleted file mode 100644
index b6a1b37..0000000
--- a/update/org.eclipse.update.ui/icons/full/wizban/form_banner.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/wizban/form_underline.gif b/update/org.eclipse.update.ui/icons/full/wizban/form_underline.gif
deleted file mode 100644
index 3dd6cc8..0000000
--- a/update/org.eclipse.update.ui/icons/full/wizban/form_underline.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/wizban/install_wiz.gif b/update/org.eclipse.update.ui/icons/full/wizban/install_wiz.gif
deleted file mode 100644
index 15e09ae..0000000
--- a/update/org.eclipse.update.ui/icons/full/wizban/install_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/wizban/provider.gif b/update/org.eclipse.update.ui/icons/full/wizban/provider.gif
deleted file mode 100644
index a83a1a5..0000000
--- a/update/org.eclipse.update.ui/icons/full/wizban/provider.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/full/wizban/topic.gif b/update/org.eclipse.update.ui/icons/full/wizban/topic.gif
deleted file mode 100644
index 311f57f..0000000
--- a/update/org.eclipse.update.ui/icons/full/wizban/topic.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 b1e2e5f..0000000
--- a/update/org.eclipse.update.ui/plugin.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-#

-# Update UI plugin.xml resources

-#

-name = Install/Update UI

-provider-name = International Business Machines Corp.

-

-editors.updateManager.name = Update Manager

-

-actionSets.softwareUpdates.label = Software Updates

-actionSets.updateManager.label = Update Manager
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/plugin.xml b/update/org.eclipse.update.ui/plugin.xml
deleted file mode 100644
index 167689f..0000000
--- a/update/org.eclipse.update.ui/plugin.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<plugin

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

-   name="%name"

-   version="2.0.0"

-   provider-name="%provider-name"

-   class="org.eclipse.update.internal.ui.UpdateUIPlugin">

-<requires>

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

-   <import plugin="org.eclipse.ui"/>

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

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

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

-</requires>

-

-<runtime>

-   <library name="updateui.jar">

-      <export name="*"/>

-   </library>

-</runtime>

-

-<extension

-      point="org.eclipse.ui.editors">

-   <editor

-         name="%editors.updateManager.name"

-         icon="icons/basic/obj16/comp_mf_obj.gif"

-         class="org.eclipse.update.internal.ui.manager.UpdateManager"

-         id="org.eclipse.update.ui.updateManager">

-   </editor>

-</extension>

-<extension

-      point="org.eclipse.ui.actionSets">

-   <actionSet

-         label="%actionSets.softwareUpdates.label"

-         visible="true"

-         id="org.eclipse.update.ui.softwareUpdates">

-      <action

-            label="%actionSets.updateManager.label"

-            class="org.eclipse.update.internal.ui.manager.UpdateManagerAction"

-            menubarPath="help/helpEnd"

-            id="org.eclipse.update.ui.updateManager">

-      </action>

-   </actionSet>

-</extension>

-<extension

-      point="org.eclipse.ui.elementFactories">

-   <factory

-         class="org.eclipse.update.internal.ui.manager.UpdateManagerInputFactory"

-         id="org.eclipse.update.internal.ui.manager.UpdateManagerInputFactory">

-   </factory>

-</extension>

-<extension

-      point="org.eclipse.ui.views">

-   <category

-         name="Update Manager"

-         id="org.eclipse.update.ui">

-   </category>

-   <view

-         name="Update Sites"

-         icon="icons/full/view16/registry.gif"

-         category="org.eclipse.update.ui"

-         class="org.eclipse.update.internal.ui.manager.SiteView"

-         id="org.eclipse.update.ui.SiteView">

-   </view>

-   <view

-         name="My Eclipse"

-         icon="icons/full/view16/registry.gif"

-         category="org.eclipse.update.ui"

-         class="org.eclipse.update.internal.ui.manager.LocalSiteView"

-         id="org.eclipse.update.ui.LocalSiteView">

-   </view>

-   <view

-         name="Install History"

-         icon="icons/full/view16/registry.gif"

-         category="org.eclipse.update.ui"

-         class="org.eclipse.update.internal.ui.manager.HistoryView"

-         id="org.eclipse.update.ui.HistoryView">

-   </view>

-   <view

-         name="Update Checklist"

-         icon="icons/full/view16/registry.gif"

-         category="org.eclipse.update.ui"

-         class="org.eclipse.update.internal.ui.manager.ChecklistView"

-         id="org.eclipse.update.ui.ChecklistView">

-   </view>

-   <view

-         name="Preview"

-         icon="icons/full/view16/registry.gif"

-         category="org.eclipse.update.ui"

-         class="org.eclipse.update.internal.ui.manager.DetailsView"

-         id="org.eclipse.update.ui.DetailsView">

-   </view>

-</extension>

-<extension

-      point="org.eclipse.ui.perspectives">

-   <perspective

-         name="Install/Update"

-         class="org.eclipse.update.internal.ui.manager.UpdatePerspective"

-         id="org.eclipse.update.ui.UpdatePerspective">

-   </perspective>

-</extension>

-<extension

-      point="org.eclipse.ui.propertyPages">

-   <page

-         objectClass="org.eclipse.update.ui.internal.model.SiteBookmark"

-         name="Site Information"

-         class="org.eclipse.update.internal.ui.manager.SiteBookmarkPropertyPage"

-         id="org.eclipse.update.ui.propertyPage">

-   </page>

-</extension>

-</plugin>

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPlugin.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPlugin.java
deleted file mode 100644
index f70e38b..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPlugin.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.eclipse.update.internal.ui;

-

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.ui.plugin.*;

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

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

-import java.util.*;

-import org.eclipse.ui.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.update.ui.internal.model.*;

-import org.eclipse.update.internal.ui.manager.*;

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

-import java.lang.reflect.*;

-import org.eclipse.jface.dialogs.ErrorDialog;

-

-

-/**

- * The main plugin class to be used in the desktop.

- */

-public class UpdateUIPlugin extends AbstractUIPlugin {

-	public static final String PLUGIN_ID = "org.eclipse.update.ui";

-	//The shared instance.

-	private static UpdateUIPlugin plugin;

-	//Resource bundle.

-	private ResourceBundle resourceBundle;

-	private UpdateAdapterFactory adapterFactory;

-	private UpdateModel model;

-	

-	/**

-	 * The constructor.

-	 */

-	public UpdateUIPlugin(IPluginDescriptor descriptor) {

-		super(descriptor);

-		plugin = this;

-		try {

-			resourceBundle= ResourceBundle.getBundle("org.eclipse.update.internal.ui.UpdateUIPluginResources");

-		} catch (MissingResourceException x) {

-			resourceBundle = null;

-		}

-	}

-

-	/**

-	 * Returns the shared instance.

-	 */

-	public static UpdateUIPlugin getDefault() {

-		return plugin;

-	}

-	

-	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();

-	}

-	

-	/**

-	 * 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 getResourceString(String key) {

-		ResourceBundle bundle= UpdateUIPlugin.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 void startup() throws CoreException {

-		super.startup();

-		model = new UpdateModel();

-		model.startup();

-		IAdapterManager manager = Platform.getAdapterManager();

-		adapterFactory = new UpdateAdapterFactory();

-		manager.registerAdapters(adapterFactory, ModelObject.class);

-	}

-	

-	public void shutdown() throws CoreException {

-		IAdapterManager manager = Platform.getAdapterManager();

-		manager.unregisterAdapters(adapterFactory);

-		model.shutdown();

-		super.shutdown();

-	}

-	

-	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();

-		}

-		String message = e.getMessage();

-		if (message==null)

-	 		message = e.toString();

-		Status status = new Status(IStatus.ERROR, getPluginId(), IStatus.OK, message, e);

-		if (showErrorDialog) 

-		   ErrorDialog.openError(getActiveWorkbenchShell(), null, null, status);

-		ResourcesPlugin.getPlugin().getLog().log(status);

-	}

-	

-	public static IFeature [] searchSite(String featureId, ISite site) throws CoreException {

-		IFeatureReference [] references = site.getFeatureReferences();

-		Vector result=new Vector();

-

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

-			IFeature feature = references[i].getFeature();

-			String id = feature.getIdentifier().getIdentifier();

-			if (featureId.equals(id)) {

-				result.add(feature);

-			}

-		}

-		return (IFeature[])result.toArray(new IFeature[result.size()]);

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginImages.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginImages.java
deleted file mode 100644
index 59010fd..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginImages.java
+++ /dev/null
Binary files differ
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 a995bd8..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
+++ /dev/null
@@ -1,179 +0,0 @@
-# 

-#

-#

-SnapshotPage.createdOn = Created On

-SnapshotPage.currentConfig = \nCurrent Configuration

-SnapshotPage.yes = Yes

-SnapshotPage.no = No

-SnapshotPage.ActivitySection.title=Activities

-SnapshotPage.ActivitySection.desc=The following list shows \

-activities that caused the creation of this configuration:

-SnapshotPage.ActivitySection.headers.date= Date

-SnapshotPage.ActivitySection.headers.target= Target

-SnapshotPage.ActivitySection.headers.action= Action

-SnapshotPage.ActivitySection.headers.status= Status

-SnapshotPage.ActivitySection.action.configure= Configured

-SnapshotPage.ActivitySection.action.featureInstall= Feature Installed

-SnapshotPage.ActivitySection.action.featureRemove= Feature Removed

-SnapshotPage.ActivitySection.action.siteInstall= Site Installed

-SnapshotPage.ActivitySection.action.siteRemove= Site Removed

-SnapshotPage.ActivitySection.action.unconfigure= Unconfigured

-SnapshotPage.ActivitySection.action.unknown= Unknown

-SnapshotPage.ActivitySection.status.ok = Success

-SnapshotPage.ActivitySection.status.nok = Failure

-SnapshotPage.ActivitySection.action.revert = Revert

-

-SnapshotPage.RevertSection.title =Configuration Reversal

-SnapshotPage.RevertSection.desc=You can revert from the current \

-to any of the previous configurations. Note that the reversal \

-will be only partial if some of the features that are part of the \

-desired configuration have since been deleted.

-

-SnapshotPage.RevertSection.currentText=This is the current configuration.

-SnapshotPage.RevertSection.revertText= \ To revert to the previous one, press:

-SnapshotPage.RevertSection.revertButton=Revert

-SnapshotPage.RevertSection.restoreText=To restore this configuration, press:

-SnapshotPage.RevertSection.restoreButton=Restore

-

-BaseTreeView.Popup.ShowDetails = Show Details

-

-CDROM.label = Compact Disc

-CDROMPage.title= Compact Disc - {0}

-CDROMPage.ntitle= Compact Disc (not available)

-CDROMPage.desc = Insert the Compact Disc with an Eclipse-based \

-product, expand the Compact Disc object and browse \

-the available features.

-

-CategoryPage.title = Category

-CategoryPage.moreInfo = More Info

-

-FeaturePage.provider = Provider

-FeaturePage.version = \nVersion

-FeaturePage.installedVersion = \nInstalled Version

-FeaturePage.size = \nDownload Size

-FeaturePage.os = Operating System

-FeaturePage.ws = \nWindowing System

-FeaturePage.nl = \nSupported Languages

-FeaturePage.platforms = Supported Platforms

-FeaturePage.description = \nDescription

-FeaturePage.infoLink = More Info

-FeaturePage.licenseLink = License

-FeaturePage.copyrightLink = Copyright

-FeaturePage.notInstalled = Not Installed

-FeaturePage.sizeValue = {0}KB

-FeaturePage.doButton.uninstall = &Uninstall

-FeaturePage.doButton.update = &Update

-FeaturePage.doButton.install = &Install

-FeaturePage.os.win32 = Windows

-FeaturePage.os.linux = Linux

-FeaturePage.ws.win32 = Windows

-FeaturePage.ws.motif = Motif

-FeaturePage.ws.gtk = GTK

-FeaturePage.dialog.utitle = Uninstall

-FeaturePage.dialog.title = Install

-FeaturePage.dialog.umessage = The feature has been successfully \

-uninstalled. You will need to restart the workbench to see the \

-effects of the action.

-FeaturePage.dialog.message = The feature has been successfully \

-installed. You will need to restart the workbench to be able \

-to use it.

-

-DetailsView.home.tooltip=Go to the Update Manager home page

-DetailsView.backward.tooltip=Go Back

-DetailsView.forward.tooltip=Go Forward

-

-HistoryView.Popup.restore = Restore

-

-InfoGroup.plainTextVersion = Plain Text Version

-InfoGroup.htmlVersion = HTML Version

-

-InstallableSitePage.title = Install Location

-InstallableSitePage.desc = Install location is the place on your \

-disk where features are installed. You can use an existing \

-location to install a feature or create a new one for \

-the purpose of grouping.

-InstallableSitePage.newLocation = &New Location...

-

-LocalSitePage.title = Current Configuration

-LocalSiteView.current = Current Configuration

-

-HomePage.title = Welcome to Eclipse Update

-HomePage.updates.title= Feature Updates

-HomePage.updates.desc=To check for updates for features you \

-have installed, go to the "My Eclipse" view and expand \

-"Available Updates" folder. You can drag new updates into \

-the Checklist folder.\n

-HomePage.installs.title = New Feature Installs

-HomePage.installs.desc = To install new features, open \

-"Update Sites" view and expand the desired site \

-(this operation may take time). Select features and read about \

-them in the "Details" view.\n

-HomePage.uninstalls.title = Uninstalling Features

-HomePage.uninstals.desc = To uninstall a feature, open \

-"My Eclipse" view, expand "Current Configuration" folder, \

-select the desired feature and press "Uninstall" button.\n

-HomePage.history.title = Installation History

-HomePage.history.desc = You can review your installation \

-history or revert to one of the previous stable states. To do \

-so, open "Update History" view.\n

-

-NewSiteDialog.url = Site URL:

-NewSiteDialog.name = Site Name:

-

-SiteBookmarkPropertyPage.name = Name:

-SiteBookmarkPropertyPage.address = Address:

-

-SiteBookmarkPropertySource.url.label=Site URL

-SiteBookmarkPropertySource.url.desc=a URL of the update site

-SiteBookmarkPropertySource.name.label=Site name

-SiteBookmarkPropertySource.name.desc=a display name of the update site

-

-SitePage.desc = Expand the site folder to browse the features available for download.

-SitePage.link = Site home page

-

-SiteView.Popup.newSite = New Site...

-SiteView.Popup.delete = Delete

-SiteView.Popup.refresh = Refresh

-

-UpdatesPage.title = Available Updates

-UpdatesPage.lastSearch = Last search: {0}

-UpdatesPage.noLastSearch = Last search: n/a

-UpdatesPage.searchNow = &Search Now

-UpdatesPage.cancel = &Cancel

-UpdatesPage.desc = Search for updates to the features you have \

-previously installed. If needed, modify the search options. \

-If a search has already been performed during this session, \

-you can browse the result by expanding the object.

-UpdatesPage.options.label = Search Options

-UpdatesPage.options.cdromCheck = Include CD-ROM in the search

-AvailableUpdates.name = Available Updates

-AvailableUpdates.search.begin = Searching for updates:

-AvailableUpdates.search.contacting = Contacting site {0} ...

-AvailableUpdates.search.checking = Checking for updates...

-

-

-BrowserPage.address = Address:

-BrowserPage.stop = Stop

-BrowserPage.go = Go

-BrowserPage.refresh = Refresh

-

-InstallWizard.LicensePage.title = Feature License

-InstallWizard.LicensePage.desc = This feature has a license \

-agreement that you need to accept before proceeding with \

-the installation.

-InstallWizard.LicensePage.accept = &Accept

-InstallWizard.LicensePage.decline = &Decline

-

-InstallWizard.ReviewPage.title = Feature Install

-InstallWizard.ReviewPage.desc =This wizard helps you install \

-new or update existing features of your product.

-InstallWizard.ReviewPage.about = You are about to install the following feature:

-InstallWizard.ReviewPage.name = Name:

-InstallWizard.ReviewPage.provider = Provider:

-InstallWizard.ReviewPage.version = Version:

-InstallWizard.ReviewPage.correct = \nIf that is correct, select Next to continue.

-

-InstallWizard.TargetPage.title = Install Location

-InstallWizard.TargetPage.desc = Choose the location where the feature will be installed.

-InstallWizard.TargetPage.new = &New...

-InstallWizard.TargetPage.location = Target Location

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/ActivitySection.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/ActivitySection.java
deleted file mode 100644
index 67dc6da..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/ActivitySection.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.eclipse.update.internal.ui.manager;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.update.internal.ui.parts.*;

-import org.eclipse.update.ui.forms.FormWidgetFactory;

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

-import org.eclipse.jface.resource.JFaceResources;

-import org.eclipse.update.ui.forms.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.layout.*;

-import org.eclipse.update.internal.ui.UpdateUIPlugin;

-

-

-public class ActivitySection extends UpdateSection {

-// NL resource keys

-	private static final String KEY_TITLE = "SnapshotPage.ActivitySection.title";

-	private static final String KEY_DESC = "SnapshotPage.ActivitySection.desc";

-	private static final String KEY_DATE = "SnapshotPage.ActivitySection.headers.date";

-	private static final String KEY_TARGET = "SnapshotPage.ActivitySection.headers.target";

-	private static final String KEY_ACTION = "SnapshotPage.ActivitySection.headers.action";

-	private static final String KEY_STATUS = "SnapshotPage.ActivitySection.headers.status";

-	private static final String KEY_CONFIGURE = "SnapshotPage.ActivitySection.action.configure";

-	private static final String KEY_FEATURE_INSTALL = "SnapshotPage.ActivitySection.action.featureInstall";

-	private static final String KEY_FEATURE_REMOVE = "SnapshotPage.ActivitySection.action.featureRemove";

-	private static final String KEY_SITE_INSTALL = "SnapshotPage.ActivitySection.action.siteInstall";

-	private static final String KEY_SITE_REMOVE = "SnapshotPage.ActivitySection.action.siteRemove";	

-	private static final String KEY_UNCONFIGURE = "SnapshotPage.ActivitySection.action.unconfigure";

-	private static final String KEY_UNKNOWN = "SnapshotPage.ActivitySection.action.unknown";

-

-	private static final String KEY_OK = "SnapshotPage.ActivitySection.status.ok";

-	private static final String KEY_NOK = "SnapshotPage.ActivitySection.status.nok";

-	private static final String KEY_REVERT = "SnapshotPage.ActivitySection.action.revert";

-

-	private Composite container;

-	private FormWidgetFactory factory;

-	private Control [] headers;

-	public ActivitySection(UpdateFormPage page) {

-		super(page);

-		setAddSeparator(false);

-		setHeaderText(UpdateUIPlugin.getResourceString(KEY_TITLE));

-		setDescription(UpdateUIPlugin.getResourceString(KEY_DESC));

-	}

-

-	public Composite createClient(Composite parent, FormWidgetFactory factory) {

-		GridLayout layout = new GridLayout();

-		this.factory = factory;

-		header.setForeground(factory.getColor(factory.COLOR_COMPOSITE_SEPARATOR));

-		layout.marginWidth = 0;

-		layout.horizontalSpacing = 10;

-		container = factory.createComposite(parent);

-		container.setLayout(layout);

-		layout.numColumns = 4;

-		

-		headers = new Control [5];

-		

-		headers[0] = createHeader(container, factory, UpdateUIPlugin.getResourceString(KEY_DATE));

-		headers[1] = createHeader(container, factory, UpdateUIPlugin.getResourceString(KEY_TARGET));

-		headers[2] = createHeader(container, factory, UpdateUIPlugin.getResourceString(KEY_ACTION));

-		headers[3] = createHeader(container, factory, UpdateUIPlugin.getResourceString(KEY_STATUS));

-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);

-		headers[3].setLayoutData(gd);

-		Composite separator = factory.createCompositeSeparator(container);

-		headers[4] = separator;

-		gd = new GridData(GridData.FILL_HORIZONTAL);

-		gd.heightHint = 1;

-		gd.horizontalSpan = 4;

-		separator.setLayoutData(gd);

-		separator.setBackground(factory.getBorderColor());

-		return container;

-	}

-	

-	private boolean isHeader(Control c) {

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

-			if (c.equals(headers[i])) return true;

-		}

-		return false;

-	}

-	

-	public void configurationChanged(IInstallConfiguration config) {

-		Control [] children = container.getChildren();

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

-			Control child = children[i];

-			if (!isHeader(child))

-				children[i].dispose();

-		}

-		

-		IActivity [] activities = config.getActivities();

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

-			IActivity activity = activities[i];

-			factory.createLabel(container, activity.getDate().toString());

-			factory.createLabel(container, activity.getLabel());

-			factory.createLabel(container, getActionLabel(activity));

-			factory.createLabel(container, getStatusLabel(activity));

-		}

-		Composite separator = factory.createCompositeSeparator(container);

-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);

-		gd.heightHint = 1;

-		gd.horizontalSpan = 4;

-		separator.setLayoutData(gd);

-		separator.setBackground(factory.getBorderColor());

-		factory.createLabel(container, null);

-		container.layout(true);

-		container.getParent().layout(true);

-	}

-	

-	private Label createHeader(Composite parent, FormWidgetFactory factory, String text) {

-		Label label = factory.createLabel(parent, text);

-		label.setFont(JFaceResources.getBannerFont());

-		return label;

-	}

-	

-	private String getActionLabel(IActivity activity) {

-		int action = activity.getAction();

-		switch (action) {

-			case IActivity.ACTION_CONFIGURE:

-				return UpdateUIPlugin.getResourceString(KEY_CONFIGURE);

-			case IActivity.ACTION_FEATURE_INSTALL:

-				return UpdateUIPlugin.getResourceString(KEY_FEATURE_INSTALL);

-			case IActivity.ACTION_FEATURE_REMOVE:

-				return UpdateUIPlugin.getResourceString(KEY_FEATURE_REMOVE);

-			case IActivity.ACTION_SITE_INSTALL:

-				return UpdateUIPlugin.getResourceString(KEY_SITE_INSTALL);

-			case IActivity.ACTION_SITE_REMOVE:

-				return UpdateUIPlugin.getResourceString(KEY_SITE_REMOVE);

-			case IActivity.ACTION_UNCONFIGURE:

-				return UpdateUIPlugin.getResourceString(KEY_UNCONFIGURE);

-			default:

-				return UpdateUIPlugin.getResourceString(KEY_UNKNOWN);		

-		}

-	}

-	

-	private String getStatusLabel(IActivity activity) {

-		switch (activity.getStatus()) {

-			case IActivity.STATUS_OK:

-				return UpdateUIPlugin.getResourceString(KEY_OK);

-			case IActivity.STATUS_NOK:

-				return UpdateUIPlugin.getResourceString(KEY_NOK);

-			case IActivity.STATUS_REVERT:

-				return UpdateUIPlugin.getResourceString(KEY_REVERT);

-		}

-		return UpdateUIPlugin.getResourceString(KEY_UNKNOWN);

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/BaseTreeView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/BaseTreeView.java
deleted file mode 100644
index fb77f0d..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/BaseTreeView.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package org.eclipse.update.internal.ui.manager;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.part.ViewPart;

-import org.eclipse.swt.SWT;

-import org.eclipse.jface.viewers.*;

-import org.eclipse.jface.action.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.update.internal.ui.UpdateUIPlugin;

-import org.eclipse.ui.*;

-

-/**

- * Insert the type's description here.

- * @see ViewPart

- */

-public abstract class BaseTreeView extends ViewPart {

-protected TreeViewer viewer;

-private Action showDetailsAction;

-private static final String KEY_SHOW_DETAILS = "BaseTreeView.Popup.ShowDetails";

-/**

- * The constructor.

- */

-public BaseTreeView() {

-}

-

-public abstract void initProviders();

-

-public void createPartControl(Composite parent)  {

-	viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);

-	viewer.setUseHashlookup(true);

-	initProviders();

-	//viewer.setInput(getInitialInput());

-	//initDragAndDrop();

-	//initRefreshKey();

-	//initRenameKey();

-	//updateTitle();

-	

-	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"));

-			BaseTreeView.this.fillContextMenu(manager);

-		}

-	});

-	Menu menu = menuMgr.createContextMenu(viewer.getTree());

-	viewer.getTree().setMenu(menu);

-	getSite().registerContextMenu(menuMgr, viewer);

-	makeActions();

-

-	viewer.addSelectionChangedListener(new ISelectionChangedListener() {

-		public void selectionChanged(SelectionChangedEvent event) {

-			handleSelectionChanged(event);

-		}

-	});

-	viewer.addDoubleClickListener(new IDoubleClickListener() {

-		public void doubleClick(DoubleClickEvent event) {

-			handleDoubleClick(event);

-		}

-	});

-	viewer.getControl().addKeyListener(new KeyAdapter() {

-		public void keyPressed(KeyEvent e) {

-			handleKeyPressed(e);

-		}

-	});

-

-	fillActionBars();

-	

-	getSite().setSelectionProvider(viewer);

-

-/*

-	//if(memento != null) restoreState(memento);

-	//memento = null;	

-	// Set help for the view 

-	WorkbenchHelp.setHelp(viewer.getControl(), new ViewContextComputer(this, INavigatorHelpContextIds.RESOURCE_VIEW));

-*/

-	partControlCreated();

-}

-

-protected void partControlCreated() {

-}

-

-public void setFocus()  {

-}

-

-protected void fillContextMenu(IMenuManager manager) {

-	manager.add(showDetailsAction);

-}

-

-protected void makeActions() {

-	showDetailsAction = new Action() {

-		public void run() {

-			IWorkbenchPage page = UpdateUIPlugin.getActivePage();

-			try {

-				IViewPart part = page.showView(UpdatePerspective.ID_DETAILS);

-				((DetailsView)part).selectionChanged(BaseTreeView.this, viewer.getSelection());

-			}

-			catch (PartInitException e) {

-				UpdateUIPlugin.logException(e);

-			}

-		}

-	};

-	showDetailsAction.setText(UpdateUIPlugin.getResourceString(KEY_SHOW_DETAILS));

-}

-

-protected void handleSelectionChanged(SelectionChangedEvent e) {

-}

-

-protected void handleDoubleClick(DoubleClickEvent e) {

-	showDetailsAction.run();

-}

-

-protected void handleKeyPressed(KeyEvent e) {

-}

-

-protected void fillActionBars() {

-}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CDROMForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CDROMForm.java
deleted file mode 100644
index f0ccec4..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CDROMForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CDROMPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CDROMPage.java
deleted file mode 100644
index b1e7414..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CDROMPage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CategoryForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CategoryForm.java
deleted file mode 100644
index ec7def5..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CategoryForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CategoryPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CategoryPage.java
deleted file mode 100644
index a6b012f..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/CategoryPage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsForm.java
deleted file mode 100644
index d35a411..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsHistory.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsHistory.java
deleted file mode 100644
index 8398049..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsHistory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.update.internal.ui.manager;

-/*

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

- * All Rights Reserved.

- */

-import java.util.*;

-

-public class DetailsHistory {

-	private final static int MAX_SIZE = 50;

-	private LinkedList history;

-	private int current = -1;

-	

-	public DetailsHistory() {

-		history = new LinkedList();

-	}

-	

-	private void resetIterator() {

-		current = history.size() -1;

-	}

-	

-	public void add(DetailsHistoryItem item) {

-		if (history.isEmpty() ||

-		    history.getLast().equals(item)==false) {

-			//System.out.println("Item added: "+item);

-			history.addLast(item);

-			if (history.size() > MAX_SIZE)

-		   		history.removeFirst();

-		    }

-		resetIterator();

-	}

-	public void add(String pageId, Object input) {

-		this.add(new DetailsHistoryItem(pageId, input));

-	}

-	public boolean hasNext() {

-		//if (iterator==null) return false;

-		//return iterator.hasNext();

-		if (current== -1) return false;

-		if (current == history.size()-1) return false;

-		return true;

-	}

-	public boolean hasPrevious() {

-		//if (iterator==null) return false;

-		//return iterator.hasPrevious();

-		if (current == -1) return false;

-		return (current>0);

-	}

-	public DetailsHistoryItem getNext() {

-		if (hasNext()) {

-			DetailsHistoryItem item = (DetailsHistoryItem)history.get(++current);

-			//System.out.println("Next returned: "+item);

-			return item;

-		}

-		return null;

-	}

-	public DetailsHistoryItem getPrevious() {

-		if (hasPrevious()) {

-			DetailsHistoryItem item = (DetailsHistoryItem)history.get(--current);

-			//System.out.println("Prev returned: "+item);

-			return item;

-		}

-		return null;

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsHistoryItem.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsHistoryItem.java
deleted file mode 100644
index 793e6f4..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsHistoryItem.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.update.internal.ui.manager;

-/*

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

- * All Rights Reserved.

- */

-public class DetailsHistoryItem {

-	private String pageId;

-	private Object input;

-	

-	public DetailsHistoryItem(String pageId, Object input) {

-		this.pageId = pageId;

-		this.input = input;

-	}

-	

-	public String getPageId() {

-		return pageId;

-	}

-

-	public Object getInput() {

-		return input;

-	}

-	public boolean equals(Object itemObj) {

-		if (itemObj instanceof DetailsHistoryItem) {

-			DetailsHistoryItem item = (DetailsHistoryItem)itemObj;

-			if (!pageId.equals(item.getPageId())) return false;

-			if (input==null && item.getInput()==null) return true;

-			if (input.equals(item.getInput())) return true;

-		}

-		return false;

-	}

-	public String toString() {

-		return pageId+", "+input;

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsPage.java
deleted file mode 100644
index c203154..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsPage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsView.java
deleted file mode 100644
index cc81e5e..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/DetailsView.java
+++ /dev/null
@@ -1,289 +0,0 @@
-package org.eclipse.update.internal.ui.manager;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.part.*;

-import org.eclipse.swt.SWT;

-import org.eclipse.update.internal.ui.parts.*;

-import org.eclipse.jface.viewers.*;

-import org.eclipse.ui.*;

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

-import org.eclipse.update.ui.internal.model.*;

-import org.eclipse.jface.action.*;

-import org.eclipse.update.internal.ui.*;

-import org.eclipse.swt.program.Program;

-import org.eclipse.ui.texteditor.IUpdate;

-import java.util.*;

-import java.io.*;

-

-/**

- * Insert the type's description here.

- * @see ViewPart

- */

-public class DetailsView extends MultiPageView {

-	

-// NL keys

-private static final String KEY_T_HOME= "DetailsView.home.tooltip";

-private static final String KEY_T_BACKWARD = "DetailsView.backward.tooltip";

-private static final String KEY_T_FORWARD= "DetailsView.forward.tooltip";

-	

-	

-public static final String HOME_PAGE = "Home";

-public static final String SITE_PAGE = "Site";

-public static final String CATEGORY_PAGE = "Category";

-public static final String DETAILS_PAGE = "Details";

-public static final String BROWSER_PAGE = "Browser";

-public static final String CONFIG_PAGE = "Config";

-public static final String SNAPSHOT_PAGE = "Snapshot";

-public static final String INSTALL_SITE_PAGE = "InstallSite";

-public static final String CDROM_PAGE = "CDROM";

-public static final String UPDATES_PAGE = "Updates";

-

-private Action homeAction;

-private UpdateAction backAction;

-private UpdateAction forwardAction;

-private DetailsHistory history = new DetailsHistory();

-private Vector tmpFiles;

-

-private boolean inHistory=false;

-

-abstract class UpdateAction extends Action implements IUpdate {

-}

-

-	/**

-	 * The constructor.

-	 */

-	public DetailsView() {

-		history = new DetailsHistory();

-	}

-	

-public void createPages() {

-	firstPageId = HOME_PAGE;

-	formWorkbook.setFirstPageSelected(false);

-	MainPage mainPage =

-		new MainPage(this, "Update Home");

-	addPage(HOME_PAGE, mainPage);

-	DetailsPage detailsPage = 

-		new DetailsPage(this, "Details");

-	addPage(DETAILS_PAGE, detailsPage);

-	SitePage sitePage = 

-		new SitePage(this, "Site");

-	addPage(SITE_PAGE, sitePage);

-	addPage(CATEGORY_PAGE, new CategoryPage(this, "Category"));

-	addPage(CONFIG_PAGE, new LocalSitePage(this, "Configuration"));

-	addPage(SNAPSHOT_PAGE, new SnapshotPage(this, "Snapshot"));

-	addPage(INSTALL_SITE_PAGE, new InstallableSitePage(this, "Install Location"));

-	addPage(CDROM_PAGE, new CDROMPage(this, "CDROM"));

-	addPage(UPDATES_PAGE, new UpdatesPage(this, "Available Updates"));

-	if (SWT.getPlatform().equals("win32")) {

-		addWebBrowser();

-	}

-}

-

-private void addWebBrowser() {

-	final BrowserPage browser = new BrowserPage(this);

-	browser.setBrowserListener(new IBrowserListener () {

-		public void downloadComplete(String url) {

-			//System.out.println("Complete: inHistory="+inHistory+", url="+url);

-			if (inHistory) {

-				if (!url.equals(browser.getBrowser().getLocationName()))

-				   	inHistory = false;

-			}

-			else

-		   		history.add(BROWSER_PAGE, url);

-		   	backAction.update();

-		   	forwardAction.update();

-		}

-	});

-   	addPage(BROWSER_PAGE, browser);

-}

-	

-public void showURL(String url) {

-	if (SWT.getPlatform().equals("win32")) {

-		showPage(BROWSER_PAGE, url);

-	}

-	else {

-		Program.launch(url);

-	}

-}

-

-public void showText(String text) {

-	try {

-		File file = File.createTempFile("FeatureLicense", ".txt");

-		OutputStream stream = new FileOutputStream(file);

-		PrintWriter writer = new PrintWriter(stream);

-		writer.println(text);

-		writer.flush();

-		stream.close();

-		if (tmpFiles==null) tmpFiles = new Vector();

-		tmpFiles.add(file.getAbsolutePath());

-		showURL("file:///"+file.getAbsolutePath());

-	}

-	catch (IOException e) {

-	}

-}

-

-

-public void dispose() {

-	if (tmpFiles!=null) {

-		for (int i=0; i<tmpFiles.size(); i++) {

-			String fileName = tmpFiles.get(i).toString();

-   			File file = new File(fileName);

-			file.delete();

-		}

-		tmpFiles = null;

-	}

-	super.dispose();

-}

-

-public void createPartControl(Composite parent) {

-	super.createPartControl(parent);

-	history.add(HOME_PAGE, null);

-	makeActions();

-	fillActionBars();

-}

-

-private void showPageWithInput(String pageId, Object input) {

-	showPage(pageId, input);

-	history.add(pageId, input);

-   	backAction.update();

-   	forwardAction.update();

-}

-	

-public void selectionChanged(IWorkbenchPart part, ISelection sel) {

-	if (part == this) return;

-	if (sel instanceof IStructuredSelection) {

-		IStructuredSelection ssel = (IStructuredSelection)sel;

-		if (ssel.size()==1) {

-			Object el = ssel.getFirstElement();

-			if (el instanceof IFeature || el instanceof ChecklistJob ||

-								el instanceof CategorizedFeature) {

-				showPageWithInput(DETAILS_PAGE, el);

-				return;

-			}

-			if (el instanceof SiteBookmark) {

-				showPageWithInput(SITE_PAGE, el);

-				return;

-			}

-			if (el instanceof SiteCategory) {

-				showPageWithInput(CATEGORY_PAGE, el);

-				return;

-			}

-			if (el instanceof ILocalSite) {

-				showPageWithInput(CONFIG_PAGE, el);

-				return;

-			}

-			if (el instanceof IInstallConfiguration) {

-				showPageWithInput(SNAPSHOT_PAGE, el);

-				return;

-			}

-			if (el instanceof IConfigurationSite) {

-				showPageWithInput(INSTALL_SITE_PAGE, el);

-				return;

-			}

-			if (el instanceof CDROM) {

-				showPageWithInput(CDROM_PAGE, el);

-				return;

-			}

-			if (el instanceof AvailableUpdates) {

-				showPageWithInput(UPDATES_PAGE, el);

-				return;

-			}

-			if (el instanceof UpdateSearchSite) {

-				showPageWithInput(SITE_PAGE, el);

-			}

-		}

-	}

-}

-

-private void makeActions() {

-	homeAction = new Action () {

-		public void run() {

-			performHome();

-		}

-	};

-	homeAction.setToolTipText(UpdateUIPlugin.getResourceString(KEY_T_HOME));

-	homeAction.setImageDescriptor(UpdateUIPluginImages.DESC_HOME_NAV);

-	homeAction.setHoverImageDescriptor(UpdateUIPluginImages.DESC_HOME_NAV_H);

-	homeAction.setDisabledImageDescriptor(UpdateUIPluginImages.DESC_HOME_NAV_D);

-	

-	backAction = new UpdateAction () {

-		public void run() {

-			performBackward();

-		}

-		public void update() {

-			setEnabled(canPerformBackward());

-		}

-	};

-	backAction.setToolTipText(UpdateUIPlugin.getResourceString(KEY_T_BACKWARD));

-	backAction.setImageDescriptor(UpdateUIPluginImages.DESC_BACKWARD_NAV);

-	backAction.setHoverImageDescriptor(UpdateUIPluginImages.DESC_BACKWARD_NAV_H);

-	backAction.setDisabledImageDescriptor(UpdateUIPluginImages.DESC_BACKWARD_NAV_D);

-	backAction.setEnabled(false);

-	

-	forwardAction = new UpdateAction () {

-		public void run() {

-			performForward();

-		}

-		public void update() {

-			setEnabled(canPerformForward());

-		}

-	};

-	forwardAction.setToolTipText(UpdateUIPlugin.getResourceString(KEY_T_FORWARD));

-	forwardAction.setImageDescriptor(UpdateUIPluginImages.DESC_FORWARD_NAV);

-	forwardAction.setHoverImageDescriptor(UpdateUIPluginImages.DESC_FORWARD_NAV_H);

-	forwardAction.setDisabledImageDescriptor(UpdateUIPluginImages.DESC_FORWARD_NAV_D);

-	forwardAction.setEnabled(false);

-}

-

-private void fillActionBars() {

-	IActionBars bars = getViewSite().getActionBars();

-	IToolBarManager mng = bars.getToolBarManager();

-	mng.add(homeAction);

-	mng.add(backAction);

-	mng.add(forwardAction);

-}

-

-private void performHome() {

-   	showPageWithInput(HOME_PAGE, null);

-}

-

-private boolean canPerformBackward() {

-	return history.hasPrevious();

-}

-	

-

-private void performBackward() {

-	DetailsHistoryItem item = history.getPrevious();

-	if (item!=null) {

-		inHistory = true;

-	   	showPage(item.getPageId(), item.getInput());

-	   	//inHistory = false;

-		if (item.getPageId() != BROWSER_PAGE) {

-		   	backAction.update();

-		   	forwardAction.update();

-		}

-	}

-}

-

-private void performForward() {

-	DetailsHistoryItem item = history.getNext();

-	if (item!=null) {

-	  	inHistory=true;

-		showPage(item.getPageId(), item.getInput());

-		//inHistory = false;

-		if (item.getPageId() != BROWSER_PAGE) {

-		   	backAction.update();

-		   	forwardAction.update();

-		}

-	}

-}

-

-private boolean canPerformForward() {

-	return history.hasNext();

-}

-

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/HistoryView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/HistoryView.java
deleted file mode 100644
index 46a2188..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/HistoryView.java
+++ /dev/null
@@ -1,215 +0,0 @@
-package org.eclipse.update.internal.ui.manager;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.part.ViewPart;

-import org.eclipse.swt.SWT;

-

-import java.io.InputStream;

-import java.net.URL;

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

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

-import org.eclipse.jface.viewers.*;

-import org.eclipse.jface.viewers.Viewer;

-import org.eclipse.update.internal.ui.parts.*;

-import org.eclipse.update.ui.internal.model.*;

-import org.eclipse.update.internal.ui.*;

-import org.eclipse.swt.custom.*;

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

-import org.eclipse.jface.action.Action;

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

-import java.util.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.action.*;

-

-/**

- * Insert the type's description here.

- * @see ViewPart

- */

-public class HistoryView extends BaseTreeView implements ILocalSiteChangedListener{

-private Image configImage;

-private Image featureImage;

-private Image siteImage;

-private Image currentConfigImage;

-private Action revertAction;

-private static final String KEY_RESTORE = "HistoryView.Popup.restore";

-

-class HistoryProvider extends DefaultContentProvider 

-						implements ITreeContentProvider {

-	/**

-	 * @see ITreeContentProvider#getChildren(Object)

-	 */

-	public Object[] getChildren(Object parent) {

-		if (parent instanceof ILocalSite) {

-			return ((ILocalSite)parent).getConfigurationHistory();

-		}

-		if (parent instanceof IInstallConfiguration) {

-			return ((IInstallConfiguration)parent).getConfigurationSites();

-		}

-		if (parent instanceof IConfigurationSite) {

-			IConfigurationSite csite = (IConfigurationSite)parent;

-			return getSiteFeatures(csite.getSite());

-		}

-		return new Object[0];

-	}

-	

-	private Object[] getSiteFeatures(ISite site) {

-		try {

-			IFeatureReference [] refs = site.getFeatureReferences();

-			Object [] result = new Object[refs.length];

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

-				result[i] = refs[i].getFeature();

-			}

-			return result;

-		}

-		catch (CoreException e) {

-			UpdateUIPlugin.logException(e);

-			return new Object[0];

-		}

-	}

-

-	/**

-	 * @see ITreeContentProvider#getParent(Object)

-	 */

-	public Object getParent(Object child) {

-		return null;

-	}

-

-	/**

-	 * @see ITreeContentProvider#hasChildren(Object)

-	 */

-	public boolean hasChildren(Object parent) {

-		return getChildren(parent).length>0;

-	}

-

-	/**

-	 * @see IStructuredContentProvider#getElements(Object)

-	 */

-	public Object[] getElements(Object input) {

-		return getChildren(input);

-	}

-}

-

-class HistoryLabelProvider extends LabelProvider {

-	public String getText(Object obj) {

-		if (obj instanceof IInstallConfiguration) {

-			IInstallConfiguration config = (IInstallConfiguration)obj;

-			return config.getLabel();

-		}

-		if (obj instanceof IConfigurationSite) {

-			IConfigurationSite csite = (IConfigurationSite)obj;

-			ISite site = csite.getSite();

-			return site.getURL().toString();

-		}

-		if (obj instanceof IFeature) {

-			IFeature feature = (IFeature)obj;

-			String version = feature.getIdentifier().getVersion().toString();

-			return feature.getLabel() + " "+version;

-		}

-		return super.getText(obj);

-	}

-	public Image getImage(Object obj) {

-		if (obj instanceof IFeature)

-		   return featureImage;

-		if (obj instanceof IConfigurationSite)

-		   return siteImage;

-		if (obj instanceof IInstallConfiguration) {

-			IInstallConfiguration config = (IInstallConfiguration)obj;

-			if (config.isCurrent()) return currentConfigImage;

-			return configImage;

-		}

-		return null;

-	}

-}

-

-public HistoryView() {

-	featureImage = UpdateUIPluginImages.DESC_FEATURE_OBJ.createImage();

-	siteImage = UpdateUIPluginImages.DESC_SITE_OBJ.createImage();

-	configImage = UpdateUIPluginImages.DESC_CONFIG_OBJ.createImage();

-	ImageDescriptor cdesc = new OverlayIcon(UpdateUIPluginImages.DESC_CONFIG_OBJ,

-					new ImageDescriptor [][] {{}, {UpdateUIPluginImages.DESC_CURRENT_CO}});

-	currentConfigImage = cdesc.createImage();

-}

-

-public void initProviders() {

-	viewer.setContentProvider(new HistoryProvider());

-	viewer.setLabelProvider(new HistoryLabelProvider());

-	try {

-		ILocalSite localSite = SiteManager.getLocalSite();

-		viewer.setInput(localSite);

-		localSite.addLocalSiteChangedListener(this);

-		

-	}

-	catch (CoreException e) {

-		UpdateUIPlugin.logException(e);

-	}

-}

-

-protected void partControlCreated() {

-}

-

-public void dispose() {

-	featureImage.dispose();

-	siteImage.dispose();

-	configImage.dispose();

-	currentConfigImage.dispose();

-	

-	try {

-		ILocalSite localSite = SiteManager.getLocalSite();

-		localSite.removeLocalSiteChangedListener(this);

-	}

-	catch (CoreException e) {

-		UpdateUIPlugin.logException(e);

-	}

-	

-	super.dispose();

-}

-

-private IInstallConfiguration getSelectedConfiguration() {

-	ISelection selection = viewer.getSelection();

-

-	if (selection instanceof IStructuredSelection &&

-			!selection.isEmpty()) {

-		IStructuredSelection ssel = (IStructuredSelection)selection;

-		if (ssel.size()==1) {

-			Object obj = ssel.getFirstElement();

-			if (obj instanceof IInstallConfiguration)

-			   return (IInstallConfiguration)obj;

-		}

-	}

-	return null;

-}

-

-protected void makeActions() {

-	super.makeActions();

-	revertAction = new Action() {

-		public void run() {

-			IInstallConfiguration target = getSelectedConfiguration();

-			if (target!=null)

-			   RevertSection.performRevert(target);

-		}

-	};

-	revertAction.setText(UpdateUIPlugin.getResourceString(KEY_RESTORE));

-}

-

-protected void fillContextMenu(IMenuManager manager) {

-	IInstallConfiguration config = getSelectedConfiguration();

-	if (config!=null && !config.isCurrent()) {

-		manager.add(revertAction);

-		manager.add(new Separator());

-	}

-	super.fillContextMenu(manager);

-}

-

-public void currentInstallConfigurationChanged(IInstallConfiguration configuration) {

-	viewer.refresh();

-}

-

-public void installConfigurationRemoved(IInstallConfiguration configuration) {

-}

-

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/InstallableSiteForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/InstallableSiteForm.java
deleted file mode 100644
index 1477182..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/InstallableSiteForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/InstallableSitePage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/InstallableSitePage.java
deleted file mode 100644
index 0f6478e..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/InstallableSitePage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSiteForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSiteForm.java
deleted file mode 100644
index 6e684ab..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSiteForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSitePage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSitePage.java
deleted file mode 100644
index 72165a4..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSitePage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSiteView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSiteView.java
deleted file mode 100644
index 29df22c..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/LocalSiteView.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/MainForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/MainForm.java
deleted file mode 100644
index 7728f12..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/MainForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/MainPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/MainPage.java
deleted file mode 100644
index 3ac112f..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/MainPage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/NewSiteDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/NewSiteDialog.java
deleted file mode 100644
index 9211282..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/NewSiteDialog.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.update.internal.ui.manager;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.events.*;

-import java.util.*;

-import org.eclipse.ui.*;

-import org.eclipse.jface.viewers.*;

-import org.eclipse.swt.layout.*;

-import org.eclipse.ui.dialogs.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.jface.dialogs.IDialogConstants;

-import org.eclipse.jface.dialogs.Dialog;

-import org.eclipse.update.ui.internal.model.*;

-import java.net.*;

-import org.eclipse.update.internal.ui.UpdateUIPlugin;

-

-public class NewSiteDialog extends Dialog {

-	private static final String KEY_URL = "NewSiteDialog.url";

-	private static final String KEY_NAME = "NewSiteDialog.name";

-	private Text urlText;

-	private Text nameText;

-	private String url;

-	private String name;

-	private Button okButton;

-

-public NewSiteDialog(Shell parentShell) {

-	super(parentShell);

-}

-

-public void okPressed() {

-	url = urlText.getText();

-	name = nameText.getText();

-	if (name.length()==0) name = url;

-	super.okPressed();

-}

-

-protected void createButtonsForButtonBar(Composite parent) {

-	// create OK and Cancel buttons by default

-	okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);

-	createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);

-	okButton.setEnabled(false);

-}

-

-public Control createDialogArea(Composite parent) {

-	Composite container = new Composite(parent, SWT.NULL);

-	GridLayout layout = new GridLayout();

-	layout.numColumns = 2;

-	container.setLayout(layout);

-	container.setLayoutData(new GridData(GridData.FILL_BOTH));

-

-	Label label = new Label(container, SWT.NULL);

-	label.setText(UpdateUIPlugin.getResourceString(KEY_URL));

-	urlText = new Text(container, SWT.SINGLE | SWT.BORDER);

-	GridData gd = new GridData(GridData.FILL_HORIZONTAL);

-	urlText.setLayoutData(gd);

-	urlText.addModifyListener(new ModifyListener() {

-		public void modifyText(ModifyEvent e) {

-			okButton.setEnabled(urlText.getText().length()>0);

-		}

-	});

-	

-	label = new Label(container, SWT.NULL);

-	label.setText(UpdateUIPlugin.getResourceString(KEY_NAME));

-	nameText = new Text(container, SWT.SINGLE | SWT.BORDER);

-	gd = new GridData(GridData.FILL_HORIZONTAL);

-	nameText.setLayoutData(gd);

-	return container;

-}

-

-public SiteBookmark getNewSite() {

-	try {

-		URL siteURL = new URL(url);

-		return new SiteBookmark(name, siteURL);

-	}

-	catch (MalformedURLException e) {

-		return null;

-	}

-}

-

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/RevertSection.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/RevertSection.java
deleted file mode 100644
index 051e746..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/RevertSection.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package org.eclipse.update.internal.ui.manager;

-

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.update.internal.ui.parts.*;

-import org.eclipse.update.ui.forms.FormWidgetFactory;

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

-import org.eclipse.jface.dialogs.ProgressMonitorDialog;

-import org.eclipse.jface.resource.JFaceResources;

-import org.eclipse.update.ui.forms.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.*;

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

-import org.eclipse.update.internal.ui.UpdateUIPlugin;

-import org.eclipse.jface.operation.IRunnableWithProgress;

-import java.lang.reflect.InvocationTargetException;

-

-public class RevertSection extends UpdateSection {

-// NL keys

-private static final String KEY_TITLE = "SnapshotPage.RevertSection.title";

-private static final String KEY_DESC = "SnapshotPage.RevertSection.desc";

-private static final String KEY_CURRENT_TEXT = "SnapshotPage.RevertSection.currentText";

-private static final String KEY_REVERT_TEXT = "SnapshotPage.RevertSection.revertText";

-private static final String KEY_REVERT_BUTTON = "SnapshotPage.RevertSection.revertButton";

-private static final String KEY_RESTORE_TEXT = "SnapshotPage.RevertSection.restoreText";

-private static final String KEY_RESTORE_BUTTON = "SnapshotPage.RevertSection.restoreButton";

-	

-	private Composite container;

-	private FormWidgetFactory factory;

-	private IInstallConfiguration config;

-	private Label currentTextLabel;

-	private Label textLabel;

-	private Button revertButton;

-	

-	public RevertSection(UpdateFormPage page) {

-		super(page);

-		setAddSeparator(false);

-		setHeaderText(UpdateUIPlugin.getResourceString(KEY_TITLE));

-		setDescription(UpdateUIPlugin.getResourceString(KEY_DESC));

-	}

-

-	public Composite createClient(Composite parent, FormWidgetFactory factory) {

-		HTMLTableLayout layout = new HTMLTableLayout();

-		this.factory = factory;

-		header.setForeground(factory.getColor(factory.COLOR_COMPOSITE_SEPARATOR));

-		layout.leftMargin = layout.rightMargin = 0;

-		layout.horizontalSpacing = 0;

-		container = factory.createComposite(parent);

-		container.setLayout(layout);

-		layout.numColumns = 3;

-		currentTextLabel = factory.createLabel(container, "");

-		currentTextLabel.setFont(JFaceResources.getBannerFont());

-		TableData td = new TableData();

-		td.valign = TableData.MIDDLE;

-		currentTextLabel.setLayoutData(td);

-		textLabel = factory.createLabel(container, "", SWT.WRAP);

-		td = new TableData();

-		td.valign = TableData.MIDDLE;

-		textLabel.setLayoutData(td);

-		revertButton = factory.createButton(container, "", SWT.PUSH);

-		revertButton.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent e) {

-				performRevert();

-			}

-		});

-		td = new TableData();

-		td.indent = 5;

-		td.valign = TableData.MIDDLE;

-		revertButton.setLayoutData(td);

-		return container;

-	}

-	

-	public void configurationChanged(IInstallConfiguration config) {

-		this.config = config;

-		boolean canRevert = false;

-		try {

-			ILocalSite localSite = SiteManager.getLocalSite();

-			IInstallConfiguration [] history = localSite.getConfigurationHistory();

-			int length = history.length;

-			canRevert = length > 1;

-		}

-		catch (CoreException e) {

-			UpdateUIPlugin.logException(e);

-		}

-		container.getParent().setVisible(canRevert);

-		if (!canRevert) return;

-		if (config.isCurrent()) {

-			currentTextLabel.setText(UpdateUIPlugin.getResourceString(KEY_CURRENT_TEXT));

-			textLabel.setText(UpdateUIPlugin.getResourceString(KEY_REVERT_TEXT));

-			revertButton.setText(UpdateUIPlugin.getResourceString(KEY_REVERT_BUTTON));

-		}

-		else {

-			currentTextLabel.setText("");

-			textLabel.setText(UpdateUIPlugin.getResourceString(KEY_RESTORE_TEXT));

-			revertButton.setText(UpdateUIPlugin.getResourceString(KEY_RESTORE_BUTTON));

-		}

-	}

-	

-	private void performRevert() {

-		try {

-			ILocalSite localSite = SiteManager.getLocalSite();

-			IInstallConfiguration target = config;

-			if (config.isCurrent()) {

-				// take the previous one

-				IInstallConfiguration [] history = localSite.getConfigurationHistory();

-				target = history[history.length - 2];

-			}

-			performRevert(target);

-		}

-		catch (CoreException e) {

-			UpdateUIPlugin.logException(e);

-		}

-	}

-	

-	public static void performRevert(final IInstallConfiguration target) {

-		IRunnableWithProgress operation = new IRunnableWithProgress() {

-			public void run(IProgressMonitor monitor) {

-				try {

-					ILocalSite localSite = SiteManager.getLocalSite();

-					localSite.revertTo(target, monitor);

-				} catch (CoreException e) {

-					UpdateUIPlugin.logException(e);

-				} finally {

-					monitor.done();

-				}

-			}

-		};

-		try {

-			ProgressMonitorDialog dialog = new ProgressMonitorDialog(UpdateUIPlugin.getActiveWorkbenchShell().getShell());

-			dialog.run(false, true, operation);

-		}

-		catch (InvocationTargetException e) {

-			UpdateUIPlugin.logException(e);

-		}

-		catch (InterruptedException e) {

-		}

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteBookmarkPropertyPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteBookmarkPropertyPage.java
deleted file mode 100644
index 108130c..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteBookmarkPropertyPage.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.update.internal.ui.manager;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.dialogs.PropertyPage;

-import org.eclipse.ui.IWorkbenchPropertyPage;

-import org.eclipse.swt.*;

-import org.eclipse.swt.layout.*;

-import org.eclipse.update.ui.internal.model.*;

-import org.eclipse.swt.events.*;

-import java.net.*;

-import org.eclipse.update.internal.ui.UpdateUIPlugin;

-

-/**

- * Insert the type's description here.

- * @see PropertyPage

- */

-public class SiteBookmarkPropertyPage extends PropertyPage implements IWorkbenchPropertyPage {

-	private static final String KEY_NAME = "SiteBookmarkPropertyPage.name";

-	private static final String KEY_ADDRESS = "SiteBookmarkPropertyPage.address";

-	private Text siteName;

-	private Text siteURL;

-	private boolean changed;

-	/**

-	 * The constructor.

-	 */

-	public SiteBookmarkPropertyPage() {

-	}

-

-	/**

-	 * Insert the method's description here.

-	 * @see PropertyPage#createContents

-	 */

-	protected Control createContents(Composite parent)  {

-		Composite container = new Composite(parent, SWT.NULL);

-		GridLayout layout = new GridLayout();

-		layout.numColumns = 2;

-		container.setLayout(layout);

-		

-		Label label = new Label(container, SWT.NULL);

-		label.setText(UpdateUIPlugin.getResourceString(KEY_NAME));

-		siteName = new Text(container, SWT.SINGLE|SWT.BORDER);

-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);

-		siteName.setLayoutData(gd);

-		label = new Label(container, SWT.NULL);

-		label.setText(UpdateUIPlugin.getResourceString(KEY_ADDRESS));

-		siteURL = new Text(container, SWT.SINGLE|SWT.BORDER);

-		gd = new GridData(GridData.FILL_HORIZONTAL);

-		siteURL.setLayoutData(gd);

-		initializeFields();

-		return container;

-	}

-	

-	public boolean performOk() {

-		if (changed) {

-			SiteBookmark site = (SiteBookmark)getElement();

-			site.setName(siteName.getText());

-		

-			try {

-				URL url = new URL(siteURL.getText());

-				site.setURL(url);

-			}

-			catch (MalformedURLException e) {

-			}

-		}

-		return true;

-	}

-	

-	private void initializeFields() {

-		SiteBookmark site = (SiteBookmark)getElement();

-		siteName.setText(site.getName());

-		siteURL.setText(site.getURL().toString());

-		siteName.addModifyListener(new ModifyListener() {

-			public void modifyText(ModifyEvent e) {

-				checkFields();

-			}

-		});

-		siteURL.addModifyListener(new ModifyListener() {

-			public void modifyText(ModifyEvent e) {

-				checkFields();

-			}

-		});

-	}

-	private void checkFields() {

-		boolean valid = true;

-		if (siteName.getText().length()==0) valid = false;

-		try {

-			new URL(siteURL.getText());

-		}

-		catch (MalformedURLException e) {

-			valid = false;

-		}

-		setValid(valid);

-		changed=true;

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteBookmarkPropertySource.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteBookmarkPropertySource.java
deleted file mode 100644
index 491b15e..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteBookmarkPropertySource.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteForm.java
deleted file mode 100644
index c7990d8..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SitePage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SitePage.java
deleted file mode 100644
index 723667b..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SitePage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteView.java
deleted file mode 100644
index cdc4234..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SiteView.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SnapshotForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SnapshotForm.java
deleted file mode 100644
index 94d6a2d..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SnapshotForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SnapshotPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SnapshotPage.java
deleted file mode 100644
index e67a30a..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/SnapshotPage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateAdapterFactory.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateAdapterFactory.java
deleted file mode 100644
index 6300ddb..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateAdapterFactory.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateManagerAction.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateManagerAction.java
deleted file mode 100644
index bb2b362..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateManagerAction.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatePerspective.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatePerspective.java
deleted file mode 100644
index 53a72be..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatePerspective.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.update.internal.ui.manager;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.ui.*;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.update.internal.ui.UpdateUIPlugin;

-

-public class UpdatePerspective implements IPerspectiveFactory {

-	private static final String PREFIX = "org.eclipse.update.ui.";

-	public static final String PERSPECTIVE_ID=PREFIX+"UpdatePerspective";

-	public static final String ID_SITES = PREFIX+"SiteView";

-	public static final String ID_LOCAL_SITE = PREFIX+"LocalSiteView";

-	public static final String ID_HISTORY = PREFIX+"HistoryView";

-	public static final String ID_DETAILS =PREFIX+"DetailsView";

-	public static final String ID_CHECKLIST=PREFIX+"ChecklistView";

-

-public UpdatePerspective() {

-	super();

-	MessageDialog.openInformation(UpdateUIPlugin.getActiveWorkbenchShell(), "Update", 

-	"Update Manager 2.0 is in experimental phase. You are free to use it but please refrain from reporting bugs as long as this dialog appears.");

-}

-

-public void createInitialLayout(IPageLayout factory) {

-	factory.setEditorAreaVisible(false);

-	// Left folder.

-	IFolderLayout left =

-		factory.createFolder(

-			"left",

-			IPageLayout.LEFT,

-			0.75f,

-			factory.getEditorArea());

-	left.addView(ID_LOCAL_SITE);

-	left.addView(ID_SITES);

-	left.addPlaceholder(ID_HISTORY);

-	

-	factory.addView(ID_DETAILS, IPageLayout.RIGHT, 0.33f, "left");

-}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateSearchContribution.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateSearchContribution.java
deleted file mode 100644
index adaedae..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateSearchContribution.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.update.internal.ui.manager;

-/*

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

- * All Rights Reserved.

- */

- 

-import org.eclipse.jface.action.*;

-import org.eclipse.swt.widgets.*;

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

-import org.eclipse.update.internal.ui.UpdateUIPluginImages;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.graphics.Image;

-

-public class UpdateSearchContribution extends ControlContribution {

-	private Label label;

-	private Image image;

-	private String tooltip;

-	

-	public UpdateSearchContribution(String id) {

-		super(id);

-	}

-	protected Control createControl(Composite parent) {

-		label = new Label(parent, SWT.NULL);

-		if (image==null)

-		   image = UpdateUIPluginImages.DESC_UPDATES_OBJ.createImage();

-		label.setImage(image);

-		if (tooltip!=null)

-		   label.setToolTipText(tooltip);

-		return label;

-	}

-	

-	public void setToolTipText(String text) {

-		this.tooltip = text;

-		if (label!=null)

-		   label.setToolTipText(text);

-	}

-	

-	public void dispose() {

-		if (label!=null && !label.isDisposed()) {

-			label.dispose();

-			label = null;

-		}

-		if (image!=null) {

-			image.dispose();

-			image = null;

-		}

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateSearchProgressMonitor.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateSearchProgressMonitor.java
deleted file mode 100644
index dad323b..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdateSearchProgressMonitor.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatesForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatesForm.java
deleted file mode 100644
index 49b8cfb..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatesForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatesPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatesPage.java
deleted file mode 100644
index 543781b..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/manager/UpdatesPage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/BrowserControlSite.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/BrowserControlSite.java
deleted file mode 100644
index 43b6308..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/BrowserControlSite.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package org.eclipse.update.internal.ui.parts;

-/*

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

- * All Rights Reserved.

- */

-

-

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.ole.win32.*;

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.internal.win32.OS;

-import org.eclipse.update.internal.ui.*;

-import java.net.URL;

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

-import java.io.IOException;

-import java.util.*;

-import org.eclipse.ui.texteditor.*;

-import org.eclipse.jface.action.IStatusLineManager;

-

-/**

- * Needed for the OLE implementation

- */

-public class BrowserControlSite extends OleControlSite {

-

-	protected boolean beenBuilt = false;

-	protected boolean startedDownload = false;

-	// Web Browser

-	private WebBrowser browser;

-	private ProgressBar webProgress;

-	private Label webStatus;

-	private String presentationURL;

-	private boolean redirection;

-	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;

-	}

-	

-	void setStatusContainer(Composite statusContainer) {

-		GridLayout layout = new GridLayout();

-		layout.numColumns = 2;

-		layout.marginHeight = 2;

-		statusContainer.setLayout(layout);

-		webProgress = new ProgressBar(statusContainer, SWT.FLAT | SWT.SMOOTH | SWT.HORIZONTAL);

-		webProgress.setMinimum(0);

-		webProgress.setMaximum(100);

-		GridData gd = new GridData();

-		gd.widthHint = 150;

-		webProgress.setLayoutData(gd);

-		//webProgress.setVisible(false);

-		

-		webStatus = new Label(statusContainer, SWT.NONE);

-		webStatus.setText("");

-		gd = new GridData(GridData.FILL_HORIZONTAL);

-		webStatus.setLayoutData(gd);

-	}

-	

-	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();

-				if (redirection)

-				   redirection = false;

-				else

-				   presentationURL = browser.getLocationURL();

-			}

-		});

-

-		addEventListener(WebBrowser.BeforeNavigate2, new OleListener() {

-			public void handleEvent(OleEvent event) {

-				Variant urlVar = event.arguments[1];

-                String strUrl = urlVar.getString();

-                /*

-                if (urlParser.isUpdateURL(strUrl)) {

-                	final String redirURL = urlParser.parseURL(strUrl);

-                    Variant cancel = event.arguments[6];

-                    int ptr = cancel.getByRef();

-                    OS.MoveMemory(ptr, new int [] { 1 }, 4);

-                    //browser.stop();

-                    if (redirURL!=null) {

-                   		redirection = true;

-               			browser.navigate(redirURL);

-                    }

-                    //int ptr = urlVar.getByRef();

-                    //OS.MoveMemory(ptr, redirURL.getBytes(), redirURL.length()); 

-        

-                    //int ptr = urlVar.getByRef();

-                    //OS.MoveMemory(ptr, new 

-                    //browser.navigate(redirURL);

- 

-                }

-                */

-			}

-		});

-

-		// 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 (webStatus!=null) {

-					if (msg != null) {

-						//webStatus.setText(msg);

-						if (statusLineManager!=null) 

-						   statusLineManager.setMessage(msg);

-					}

-					else {

-						//webStatus.setText("");

-						if (statusLineManager!=null) statusLineManager.setMessage("");

-					}

-				//}

-			}

-		});

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/BrowserPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/BrowserPage.java
deleted file mode 100644
index 2fbd7e8..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/BrowserPage.java
+++ /dev/null
Binary files differ
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 cecc271..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/DefaultContentProvider.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.update.internal.ui.parts;

-/*

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

- * All Rights Reserved.

- */

-

-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/IBrowserListener.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/IBrowserListener.java
deleted file mode 100644
index 89b8775..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/IBrowserListener.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.eclipse.update.internal.ui.parts;

-/*

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

- * All Rights Reserved.

- */

-public interface IBrowserListener {

-	public void downloadComplete(String url);

-}

-

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/IUpdateForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/IUpdateForm.java
deleted file mode 100644
index b006e61..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/IUpdateForm.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.update.internal.ui.parts;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.update.ui.forms.IForm;

-

-public interface IUpdateForm extends IForm {

-	public IUpdateFormPage getPage();

-

-}

-

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/IUpdateFormPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/IUpdateFormPage.java
deleted file mode 100644
index 7a6d63e..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/IUpdateFormPage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/MultiPageView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/MultiPageView.java
deleted file mode 100644
index e1efcba..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/MultiPageView.java
+++ /dev/null
Binary files differ
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 0735db9..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/OverlayIcon.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.update.internal.ui.parts;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.graphics.ImageData;

-import org.eclipse.swt.graphics.Point;

-

-import org.eclipse.jface.resource.CompositeImageDescriptor;

-import org.eclipse.jface.resource.ImageDescriptor;

-

-/**

- * 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/PropertyWebForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/PropertyWebForm.java
deleted file mode 100644
index 788ad3a..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/PropertyWebForm.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.update.internal.ui.parts;

-

-/*

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

- * All Rights Reserved.

- */

- 

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.graphics.Color;

-

-public class PropertyWebForm extends UpdateWebForm {

-

-	/**

-	 * Constructor for PropertyWebForm.

-	 * @param page

-	 */

-	public PropertyWebForm(IUpdateFormPage page) {

-		super(page);

-	}

-	

-protected Label createProperty(Composite parent, String name) {

-	createHeading(parent, name);

-	Label label = factory.createLabel(parent, null);

-	label.setText("");

-	label.setLayoutData(createPropertyLayoutData());

-	return label;

-}

-

-protected Object createPropertyLayoutData() {

-	GridData gd = new GridData();

-	gd.horizontalIndent = 10;

-	return gd;

-}

-

-protected Label createHeading(Composite parent, String text) {

-	Label l = factory.createHeadingLabel(parent, text);

-	Color hc;

-    hc = factory.getColor(factory.COLOR_COMPOSITE_SEPARATOR);	

-  	l.setForeground(hc);

-	return l;

-}

-

-}

-

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateForm.java
deleted file mode 100644
index 5859f0d..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateFormPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateFormPage.java
deleted file mode 100644
index c502113..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateFormPage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateSection.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateSection.java
deleted file mode 100644
index 4862854..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateSection.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.update.internal.ui.parts;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.update.ui.forms.*;

-

-public abstract class UpdateSection extends FormSection {

-	private UpdateFormPage page;

-	

-	public UpdateSection(UpdateFormPage page) {

-		this.page = page;

-	}

-	

-	public UpdateFormPage getPage() {

-		return page;

-	}

-}

-

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateWebForm.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateWebForm.java
deleted file mode 100644
index fc8beab..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/UpdateWebForm.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/WebBrowser.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/WebBrowser.java
deleted file mode 100644
index 06acc8a..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/WebBrowser.java
+++ /dev/null
@@ -1,453 +0,0 @@
-package org.eclipse.update.internal.ui.parts;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.ole.win32.*;

-import org.eclipse.swt.*;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.ui.texteditor.IUpdate;

-

-/**

- * 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) {

-			// Display and log error, then delegate to parent UI class. 

-			// The actual translated message goes all the way back to the calling

-			// UI class, for display.

-			System.out.println(e);

-			//String msg = WorkbenchResources.getString("WE001");

-			//Util.displayErrorDialog(msg, e);

-			//throw new HelpWorkbenchException(msg);

-		}

-

-	}

-	/**

-	 */

-	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)

-			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)

-			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)

-			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)

-			return null;

-		return pVarResult.getString();

-	}

-	protected OleFrame getOleFrame() {

-		return controlFrame;

-

-	}

-	

-	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)

-			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) {

-					command = varResult.getInt();

-				}

-

-				varResult = event.arguments[1];

-				if (varResult != null) {

-					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)

-			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)

-			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)

-			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);

-	}

-	/**

-	 * 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/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 cc2d721..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package org.eclipse.update.internal.ui.wizards;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.wizard.*;

-import org.eclipse.update.ui.internal.model.*;

-import org.eclipse.update.internal.ui.*;

-import java.util.*;

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

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

-import org.eclipse.update.internal.ui.*;

-import org.eclipse.jface.operation.*;

-import java.lang.reflect.*;

-

-public class InstallWizard extends Wizard {

-	private ReviewPage reviewPage;

-	private TargetPage targetPage;

-	private ChecklistJob job;

-	private boolean successfulInstall=false;

-	private IInstallConfiguration config;

-

-	public InstallWizard(ChecklistJob job) {

-		setDialogSettings(UpdateUIPlugin.getDefault().getDialogSettings());

-		setDefaultPageImageDescriptor(UpdateUIPluginImages.DESC_INSTALL_WIZ);

-		setForcePreviousAndNextButtons(true);

-		setNeedsProgressMonitor(true);

-		this.job = job;

-	}

-	

-	public boolean isSuccessfulInstall() {

-		return successfulInstall;

-	}

-	

-	private boolean hasLicense() {

-		IFeature feature = job.getFeature();

-		IInfo info = feature.getLicense();

-		return info!=null;

-	}

-

-	

-	/**

-	 * @see Wizard#performFinish()

-	 */

-	public boolean performFinish() {

-		final IConfigurationSite targetSite = targetPage.getTargetSite();

-		IRunnableWithProgress operation = new IRunnableWithProgress() {

-			public void run(IProgressMonitor monitor) {

-				try {

-					successfulInstall=false;

-					makeConfigurationCurrent();

-					performInstall(targetSite, monitor);

-					saveLocalSite();

-					successfulInstall = true;

-				} catch (CoreException e) {

-					UpdateUIPlugin.logException(e);

-				} finally {

-					monitor.done();

-				}

-			}

-		};

-		try {

-			getContainer().run(false, true, operation);

-		} catch (InvocationTargetException e) {

-			UpdateUIPlugin.logException(e);

-			return false;

-		} catch (InterruptedException e) {

-			UpdateUIPlugin.logException(e);

-			return false;

-		}

-		return true;

-	}

-	

-	public void addPages() {

-		reviewPage = new ReviewPage(job);

-		addPage(reviewPage);

-		if (hasLicense()) {

-			addPage(new LicensePage(job));

-		}

-		config = createInstallConfiguration();

-		targetPage = new TargetPage(config);

-		addPage(targetPage);

-	}

-	

-	private IInstallConfiguration createInstallConfiguration() {

-		try {

-			ILocalSite localSite = SiteManager.getLocalSite();

-			return localSite.cloneCurrentConfiguration(null, null);

-		}

-		catch (CoreException e) {

-			UpdateUIPlugin.logException(e);

-			return null;

-		}

-	}

-	

-	private void makeConfigurationCurrent() throws CoreException {

-		ILocalSite localSite = SiteManager.getLocalSite();

-		localSite.addConfiguration(config);

-	}

-	

-	private void saveLocalSite() throws CoreException {

-		ILocalSite localSite = SiteManager.getLocalSite();

-		localSite.save();

-	}

-	

-	public boolean canFinish() {

-		IWizardPage page = getContainer().getCurrentPage();

-		return page.getNextPage()==null && super.canFinish();

-	}

-	

-	public IWizardPage getPreviousPage(IWizardPage page) {

-		return super.getPreviousPage(page);

-	}

-	public IWizardPage getNextPage(IWizardPage page) {

-		return super.getNextPage(page);

-	}

-	private void performInstall(IConfigurationSite targetSite, IProgressMonitor monitor) throws CoreException {

-		IFeature feature = job.getFeature();

-	   	targetSite.install(feature, monitor);

-	}

-}

-

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizardDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizardDialog.java
deleted file mode 100644
index 802be34..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizardDialog.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.update.internal.ui.wizards;

-

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.jface.wizard.*;

-

-public class InstallWizardDialog extends WizardDialog {

-	

-	public InstallWizardDialog(Shell shell, IWizard wizard) {

-		super(shell, wizard);

-	}

-	

-	public void cancel() {

-		cancelPressed();

-	}

-}

-

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 69bd424..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReviewPage.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.update.internal.ui.wizards;

-/*

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

- * All Rights Reserved.

- */

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.jface.wizard.WizardPage;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.layout.*;

-import java.util.*;

-import org.eclipse.swt.SWT;

-import org.eclipse.update.ui.internal.model.*;

-import org.eclipse.jface.resource.JFaceResources;

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

-import org.eclipse.update.internal.ui.UpdateUIPlugin;

-

-public class ReviewPage extends WizardPage {

-// NL keys

-private static final String KEY_TITLE = "InstallWizard.ReviewPage.title";

-private static final String KEY_DESC = "InstallWizard.ReviewPage.desc";

-private static final String KEY_ABOUT = "InstallWizard.ReviewPage.about";

-private static final String KEY_NAME = "InstallWizard.ReviewPage.name";

-private static final String KEY_PROVIDER = "InstallWizard.ReviewPage.provider";

-private static final String KEY_VERSION = "InstallWizard.ReviewPage.version";

-private static final String KEY_CORRECT = "InstallWizard.ReviewPage.correct"; 

-

-	private ChecklistJob job;

-	/**

-	 * Constructor for ReviewPage

-	 */

-	public ReviewPage(ChecklistJob job) {

-		super("Review");

-		setTitle(UpdateUIPlugin.getResourceString(KEY_TITLE));

-		setDescription(UpdateUIPlugin.getResourceString(KEY_DESC));

-		this.job = job;

-	}

-	

-	

-

-	/**

-	 * @see DialogPage#createControl(Composite)

-	 */

-	public void createControl(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(UpdateUIPlugin.getResourceString(KEY_ABOUT));

-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);

-		gd.horizontalSpan = 2;

-		label.setLayoutData(gd);

-		

-		label = new Label(client, SWT.NULL);

-		gd = new GridData(GridData.FILL_HORIZONTAL);

-		gd.horizontalSpan = 2;

-		label.setLayoutData(gd);

-		

-		label = new Label(client, SWT.NULL);

-		label.setText(UpdateUIPlugin.getResourceString(KEY_NAME));

-		

-		label = new Label(client, SWT.NULL);

-		label.setFont(JFaceResources.getBannerFont());

-		label.setText(job.getFeature().getLabel());

-		gd = new GridData(GridData.FILL_HORIZONTAL);

-		label.setLayoutData(gd);

-		label = new Label(client, SWT.NULL);

-		label.setText(UpdateUIPlugin.getResourceString(KEY_PROVIDER));

-		label = new Label(client, SWT.NULL);

-		label.setFont(JFaceResources.getBannerFont());

-		label.setText(job.getFeature().getProvider());

-		gd = new GridData(GridData.FILL_HORIZONTAL);

-		label.setLayoutData(gd);

-		label = new Label(client, SWT.NULL);

-		label.setText(UpdateUIPlugin.getResourceString(KEY_VERSION));

-		label = new Label(client, SWT.NULL);

-		label.setFont(JFaceResources.getBannerFont());

-		label.setText(job.getFeature().getIdentifier().getVersion().toString());

-		gd = new GridData(GridData.FILL_HORIZONTAL);

-		label.setLayoutData(gd);

-

-		label = new Label(client, SWT.NULL);

-		label.setText(UpdateUIPlugin.getResourceString(KEY_CORRECT));

-		gd = new GridData(GridData.FILL_HORIZONTAL);

-		gd.horizontalSpan = 2;

-		label.setLayoutData(gd);

-		setControl(client);

-	}

-}
\ No newline at end of file
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 2f97fed..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/AvailableUpdates.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/AvailableUpdates.java
deleted file mode 100644
index 0f89bfa..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/AvailableUpdates.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/BackgroundProgressMonitor.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/BackgroundProgressMonitor.java
deleted file mode 100644
index 3f233ce..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/BackgroundProgressMonitor.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/BackgroundThread.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/BackgroundThread.java
deleted file mode 100644
index c33877b..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/BackgroundThread.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.update.ui.internal.model;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.jface.operation.*;

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

-import org.eclipse.swt.widgets.*;

-import java.lang.reflect.InvocationTargetException;

-import org.eclipse.jface.util.Assert;

-

-public class BackgroundThread extends Thread {

-	/**

-	 * The operation to be run.

-	 */

-	private IRunnableWithProgress runnable;

-		

-	/** 

-	 * The exception thrown by the operation starter.

-	 */

-	private Throwable throwable;

-		

-	/**

-	 * The progress monitor used for progress and cancelation.

-	 */

-	private IProgressMonitor progressMonitor;

-		

-	/**

-	 * The display used for event dispatching.

-	 */

-	private Display display;

-		

-	/**

-	 * Indicates whether to continue event queue dispatching.

-	 */

-	private volatile boolean continueEventDispatching = true;

-

-	public BackgroundThread(IRunnableWithProgress operation, IProgressMonitor monitor, Display display) {

-		super("BackgroundThread"); //$NON-NLS-1$

-		Assert.isTrue(monitor != null && display != null);

-		runnable = operation;

-		this.progressMonitor = monitor;

-		this.display = display;

-	}

-	/* (non-Javadoc)

-	 * Method declared on Thread.

-	 */

-	public void run() {

-		try {

-			if (runnable != null)

-				runnable.run(progressMonitor);

-		} catch (InvocationTargetException e) {

-			throwable= e;

-		} catch (InterruptedException e) {

-			throwable= e;

-		} catch (RuntimeException e) {

-			throwable= e;

-		} catch (ThreadDeath e) {

-			// Make sure to propagate ThreadDeath, or threads will never fully terminate

-			throw e;

-		} catch (Error e) {

-			throwable= e;

-		} finally {

-			// Make sure that all events in the asynchronous event queue

-			// are dispatched.

-			display.syncExec(new Runnable() {

-				public void run() {

-					// do nothing

-				}

-			});

-				

-			// Stop event dispatching

-			continueEventDispatching= false;

-				

-			// Force the event loop to return from sleep () so that

-			// it stops event dispatching.

-			display.asyncExec(null);

-		}	

-	}

-	public Throwable getThrowable() {

-		return throwable;

-	}

-}

-

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/CDROM.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/CDROM.java
deleted file mode 100644
index 81aa13a..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/CDROM.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/CategorizedFeature.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/CategorizedFeature.java
deleted file mode 100644
index d86510a..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/CategorizedFeature.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.update.ui.internal.model;

-/*

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

- * All Rights Reserved.

- */

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

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

-

-public class CategorizedFeature extends PlatformObject {

-	private IFeatureReference featureRef;

-	public CategorizedFeature(IFeatureReference featureRef) {

-		this.featureRef = featureRef;

-	}

-	

-	public IFeature getFeature() throws CoreException {

-		return featureRef.getFeature();

-	}

-	

-	public String toString() {

-		try {

-			IFeature feature = getFeature();

-			return feature.getLabel();

-		}

-		catch (CoreException e) {

-			return "<failure>";

-		}

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ChecklistJob.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ChecklistJob.java
deleted file mode 100644
index a3cea5d..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ChecklistJob.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ISiteWrapper.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ISiteWrapper.java
deleted file mode 100644
index 36004d9..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ISiteWrapper.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.eclipse.update.ui.internal.model;

-

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

-import java.net.URL;

-

-public interface ISiteWrapper {

-	

-	public String getLabel();

-	public URL getURL();

-	public ISite getSite();

-

-}

-

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/IUpdateModelChangedListener.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/IUpdateModelChangedListener.java
deleted file mode 100644
index cb63fa5..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/IUpdateModelChangedListener.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ModelObject.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ModelObject.java
deleted file mode 100644
index 69b08f8..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/ModelObject.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/MonitorAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/MonitorAdapter.java
deleted file mode 100644
index 60f95d3..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/MonitorAdapter.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/SiteBookmark.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/SiteBookmark.java
deleted file mode 100644
index 08bb32e..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/SiteBookmark.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/SiteCategory.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/SiteCategory.java
deleted file mode 100644
index 8c5d299..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/SiteCategory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.update.ui.internal.model;

-/*

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

- * All Rights Reserved.

- */

-import java.util.*;

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

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

-

-public class SiteCategory {

-	Vector children;

-	private ICategory category;

-	private String name;

-	

-	public SiteCategory(String name, ICategory category) {

-		this.category = category;

-		this.name = name;

-		children = new Vector();

-	}

-	

-	public Object [] getChildren() {

-		return children.toArray();

-	}

-	

-	public int getChildCount() {

-		return 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) {

-		children.add(child);

-	}

-	

-	public void touchFeatures() throws CoreException {

-		for (int i=0; i<children.size(); i++) {

-			Object child = children.get(i);

-			if (child instanceof CategorizedFeature) {

-				CategorizedFeature cf = (CategorizedFeature)child;

-				cf.getFeature();

-			}

-		}

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateModel.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateModel.java
deleted file mode 100644
index b491f11..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateModel.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateSearchOperation.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateSearchOperation.java
deleted file mode 100644
index 1d8f7bb..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateSearchOperation.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateSearchSite.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateSearchSite.java
deleted file mode 100644
index af002fa..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/internal/model/UpdateSearchSite.java
+++ /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/.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>

diff --git a/update/org.eclipse.update/about.html b/update/org.eclipse.update/about.html
deleted file mode 100644
index 9a15e5c..0000000
--- a/update/org.eclipse.update/about.html
+++ /dev/null
@@ -1,30 +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>

-<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" face="Arial,Helvetica">About This Plug-in</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

-<p>1st November, 2001</p>	

-<h3>License</h3>

-<p>Eclipse.org makes available all content in this plug-in.  The plug-in 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>.  For purposes of the Common Public License, &quot;Program&quot; will mean the plug-in.</p>

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

-</body>

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

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

diff --git a/update/org.eclipse.update/icons/full/ctool16/new.gif b/update/org.eclipse.update/icons/full/ctool16/new.gif
deleted file mode 100644
index d16d5b0..0000000
--- a/update/org.eclipse.update/icons/full/ctool16/new.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/icons/full/ctool16/update.gif b/update/org.eclipse.update/icons/full/ctool16/update.gif
deleted file mode 100644
index f011d8a..0000000
--- a/update/org.eclipse.update/icons/full/ctool16/update.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/icons/full/wizban/new.gif b/update/org.eclipse.update/icons/full/wizban/new.gif
deleted file mode 100644
index 2a0c793..0000000
--- a/update/org.eclipse.update/icons/full/wizban/new.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/icons/full/wizban/revert.gif b/update/org.eclipse.update/icons/full/wizban/revert.gif
deleted file mode 100644
index d7402a2..0000000
--- a/update/org.eclipse.update/icons/full/wizban/revert.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/icons/full/wizban/update.gif b/update/org.eclipse.update/icons/full/wizban/update.gif
deleted file mode 100644
index 4ff15da..0000000
--- a/update/org.eclipse.update/icons/full/wizban/update.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/plugin.properties b/update/org.eclipse.update/plugin.properties
deleted file mode 100644
index 9c052ee..0000000
--- a/update/org.eclipse.update/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-S_Eclipse_Update_Manager_Plugin = Install/Update Manager

-S_Software_Updates = &Software Updates

-S_Software_Updates_Preferences = Software Updates

diff --git a/update/org.eclipse.update/plugin.xml b/update/org.eclipse.update/plugin.xml
deleted file mode 100644
index 87f8787..0000000
--- a/update/org.eclipse.update/plugin.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<plugin

-   id="org.eclipse.update"

-   name="%S_Eclipse_Update_Manager_Plugin"

-   version="1.0"

-   provider-name="International Business Machines Corp."

-   class="org.eclipse.update.internal.core.UpdateManagerPlugin">

-<requires>

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

-   <import plugin="org.eclipse.ui"/>

-   <import plugin="org.eclipse.webdav"/>

-</requires>

-

-<runtime>

-   <library name="update.jar"/>

-</runtime>

-

-<!-- ================================================================================= -->

-<!--                                                                                   -->

-<!-- Update Manager Help Menu Action Set                                               -->

-<!--                                                                                   -->

-<!-- ================================================================================= -->

-<extension

-      point="org.eclipse.ui.actionSets">

-   <actionSet

-         label="%S_Software_Updates"

-         visible="false"

-         id="org.eclipse.update.internal.ui.UpdateManagerActionSet">

-      <action

-            label="%S_Software_Updates"

-            class="org.eclipse.update.internal.ui.UMDialogAction"

-            menubarPath="help/helpEnd"

-            id="org.eclipse.update.internal.ui.UpdateManagerAction">

-      </action>

-   </actionSet>

-</extension>

-<!-- ============================================================================================ -->

-<!--                                                                                              -->

-<!-- Update Manager Application                                                                   -->

-<!--                                                                                              -->

-<!-- ============================================================================================ -->

-<extension

-      id="updateManager"

-      point="org.eclipse.core.runtime.applications">

-   <application>

-      <run

-            class="org.eclipse.update.internal.ui.UMApplicationUserInterface">

-      </run>

-   </application>

-</extension>

-</plugin>

diff --git a/update/org.eclipse.update/plugin.xml.off b/update/org.eclipse.update/plugin.xml.off
deleted file mode 100644
index 8a83831..0000000
--- a/update/org.eclipse.update/plugin.xml.off
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<!-- Eclipse Update Manager Plugin -->

-

-<plugin

-    id          = "org.eclipse.update"

-    name        = "%S_Eclipse_Update_Manager_Plugin"

-    version     = "1.0"

-    provider-name = "International Business Machines Corp."

-    class       = "org.eclipse.update.internal.core.UpdateManagerPlugin">

-

-    <requires>

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

-        <import plugin="org.eclipse.ui"/>

-        <import plugin="org.eclipse.webdav"/>

-    </requires>

-

-    <runtime>

-        <library name="update.jar" />

-    </runtime>

-

-    <!-- ================================================================================= -->

-    <!--                                                                                   -->

-    <!-- Update Manager Preference Page Settings                                           -->

-    <!--                                                                                   -->

-    <!-- ================================================================================= -->

-    <extension point="org.eclipse.ui.preferencePages">

-        <page id       = "UMPreferencePageSettings"

-              name     = "%S_Software_Updates_Preferences"

-              class    = "org.eclipse.update.internal.ui.UMPreferencePageSettings">

-        </page>

-    </extension>

-

-    <!-- ================================================================================= -->

-    <!--                                                                                   -->

-    <!-- Update Manager Help Menu Action Set                                               -->

-    <!--                                                                                   -->

-    <!-- ================================================================================= -->

-    <extension point="org.eclipse.ui.actionSets">

-        <actionSet

-            id      = "org.eclipse.update.internal.ui.UpdateManagerActionSet"

-            label   = "%S_Software_Updates"

-            visible = "true">

-            <action id          = "org.eclipse.update.internal.ui.UpdateManagerAction"

-                    menubarPath = "help/helpEnd"

-                    label       = "%S_Software_Updates"

-                    class       = "org.eclipse.update.internal.ui.UMDialogAction"/>

-        </actionSet>

-    </extension>

-

-    <!-- ============================================================================================ -->

-    <!--                                                                                              -->

-    <!-- Update Manager Application                                                                   -->

-    <!--                                                                                              -->

-    <!-- ============================================================================================ -->

-    <extension id="updateManager" point="org.eclipse.core.runtime.applications">

-        <application>

-            <run class="org.eclipse.update.internal.ui.UMApplicationUserInterface">

-            </run>

-        </application>

-    </extension>

-</plugin>

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/ISessionDefiner.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/ISessionDefiner.java
deleted file mode 100644
index 626ca05..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/ISessionDefiner.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

-/**

- */

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

-

-public interface ISessionDefiner {

-/**

- * Creates one or more operations for the current session.

- */

-void defineOperations( UMSessionManagerSession session, IInstallable[] descriptors, boolean bVerifyJars );

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/IUMLock.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/IUMLock.java
deleted file mode 100644
index c25c907..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/IUMLock.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

-/**

- */

-public interface IUMLock {

-/**

- * Checks to see if the UMLock file is there.  If yes, returns true

- */

-public boolean exists();

-/**

- */

-void remove();

-/**

- */

-void set();

-/**

- */

-void set(String msg);

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMLock.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMLock.java
deleted file mode 100644
index 5c08d9a..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMLock.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

-/**

- */

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

-import java.io.*;

-import java.net.*;

-public class UMLock implements IUMLock {

-	File file = null;

-/**

- * UMLock constructor comment.

- */

-public UMLock() {

-	super();

-	URL lockfileURL = null;

-	try {

-		lockfileURL = new URL(UMEclipseTree.getInstallTreeURL(), IManifestAttributes.UM_LOCK);

-	} catch (MalformedURLException ex) {

-	}

-	file = getFile(lockfileURL);

-}

-/**

- * Checks to see if the UMLock file is there.  If yes, returns true

- */

-public boolean exists() {

-	

-	if (file != null) {

-		if (file.exists() == true) {

-			return true;

-		}

-	}

-	return false;

-}

-/**

- */

-public static File getFile(URL url) {

-	File file = null;

-	if (url != null) {

-

-		// Convert the URL to a string

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

-		String strFilespec = UMEclipseTree.getFileInPlatformString(url);

-

-		file = new File(strFilespec);

-	}

-	return file;

-}

-/**

- */

-public void remove() {

-	if (exists())

-		file.delete();

-		

-}

-/**

- */

-public void set() {

-	set("");

-}

-/**

- */

-public void set(String msg) {

-	URL lockfileURL = null;

-	try {

-		lockfileURL = new URL(UMEclipseTree.getInstallTreeURL(), IManifestAttributes.UM_LOCK);

-	} catch (MalformedURLException ex) {

-	}

-	

-	// Create a lock file

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

-	Log lockfile = new Log();

-

-	try {

-		lockfile.load(lockfileURL);		// creates file if it doesn't exist

-	}

-	catch (LogStoreException ex) {

-		return;

-	}

-

-	// Add an entry

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

-	LogEntry lockEntry = new LogEntry( lockfile, msg );

-	lockfile.addChildEntry( lockEntry );

-

-

-	try {

-		lockfile.save(lockfileURL);

-	}

-	catch (LogStoreException ex) {

-		return;

-	}

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionDefinerReferenceUpdate.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionDefinerReferenceUpdate.java
deleted file mode 100644
index 240091b..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionDefinerReferenceUpdate.java
+++ /dev/null
@@ -1,216 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

-/**

- */

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

-import org.eclipse.core.internal.boot.LaunchInfo;

-

-public class UMSessionDefinerReferenceUpdate implements ISessionDefiner {

-/**

- * UMUpdaterCached constructor comment.

- */

-public UMSessionDefinerReferenceUpdate() {

-	super();

-}

-/**

- * Creates one or more operations for the current parcel.

- */

-public void defineComponentOperation(UMSessionManagerParcel parcel, IInstallable descriptor, boolean bVerifyJars) {

-

-	IComponentDescriptor componentDescriptor = null;

-

-	if (descriptor instanceof IComponentDescriptor) {

-		componentDescriptor = (IComponentDescriptor) descriptor;

-	}

-	else if (descriptor instanceof IComponentEntryDescriptor) {

-		componentDescriptor = ((IComponentEntryDescriptor) descriptor).getComponentDescriptor();

-	}

-	if (componentDescriptor == null)

-		return; 

-

-	UMSessionManagerOperation operation = null;

-

-	// Create download operation

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

-	operation = parcel.createOperation();

-	operation.setAction(UpdateManagerConstants.OPERATION_COPY);

-	operation.setId(componentDescriptor.getUniqueIdentifier());

-	operation.setSource(componentDescriptor.getDownloadURL().toExternalForm());

-	String downloadTarget = UMEclipseTree.getStagingArea().toExternalForm() + componentDescriptor.getDirName() + ".jar";

-	operation.setTarget(downloadTarget);

-	operation.setData(descriptor);

-

-	// Create jar verification operation

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

-	if (bVerifyJars == true) {

-		operation = parcel.createOperation();

-		operation.setAction(UpdateManagerConstants.OPERATION_VERIFY_JAR);

-		operation.setId(componentDescriptor.getUniqueIdentifier());

-		operation.setSource(downloadTarget);

-		operation.setTarget(null);

-		operation.setData(descriptor);

-	}

-

-	// Create apply operation for component files (files not in plugins/ dir structure)

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

-	operation = parcel.createOperation();

-	operation.setAction(UpdateManagerConstants.OPERATION_UNZIP_INSTALL);

-	operation.setId(componentDescriptor.getUniqueIdentifier());

-	operation.setSource(downloadTarget);

-	String applyTarget = UMEclipseTree.getBaseInstallURL().toExternalForm();

-	//	String applyTarget = "file:///c:/temp/x/" ;

-	operation.setTarget(applyTarget);

-	operation.setData(descriptor);

-

-	// Create apply operation for plug-ins		

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

-	IPluginEntryDescriptor[] plugins = componentDescriptor.getPluginEntries();

-	IFragmentEntryDescriptor[] fragments = componentDescriptor.getFragmentEntries();

-	if ((plugins.length > 0) || (fragments.length >0)) {

-		operation = parcel.createOperation();

-		operation.setAction(UpdateManagerConstants.OPERATION_UNZIP_PLUGINS);

-		operation.setId(componentDescriptor.getUniqueIdentifier());

-		operation.setSource(downloadTarget);

-		// by specifiying the install dir with a trailing slash, the unzip method

-		// will just unzip the contents of the jar into the dir

-		applyTarget = UMEclipseTree.getBaseInstallURL().toExternalForm();

-		//	applyTarget = "file:///c:/temp/x/" ;

-		operation.setTarget(applyTarget);

-		operation.setData(descriptor);

-	}

-

-}

-/**

- * Creates one or more operations for the current session.

- */

-public void defineOperations(UMSessionManagerSession session, IInstallable[] descriptors, boolean bVerifyJars) {

-

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

-

-		// Products

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

-		if (descriptors[i] instanceof IProductDescriptor) {

-

-			UMSessionManagerParcel parcel = null;

-

-			// Create parcel

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

-			parcel = session.createParcel();

-			parcel.setType(IManifestAttributes.PRODUCT);

-			parcel.setAction(UpdateManagerConstants.OPERATION_ACTION_INSTALL);

-			parcel.setId(((IProductDescriptor) descriptors[i]).getUniqueIdentifier());

-			parcel.setData((IProductDescriptor) descriptors[i]);

-

-			defineProductOperation(parcel, descriptors[i], bVerifyJars);

-		}

-

-		// Components

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

-		else if (descriptors[i] instanceof IComponentDescriptor) {

-

-			UMSessionManagerParcel parcel = null;

-

-			// Create parcel

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

-			parcel = session.createParcel();

-			parcel.setType(IManifestAttributes.COMPONENT);

-			parcel.setAction(UpdateManagerConstants.OPERATION_ACTION_INSTALL);

-			parcel.setId(((IComponentDescriptor) descriptors[i]).getUniqueIdentifier());

-			parcel.setData((IComponentDescriptor) descriptors[i]);

-

-			defineComponentOperation(parcel, descriptors[i], bVerifyJars);

-		}

-

-		// Component Entries

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

-		else if (descriptors[i] instanceof IComponentEntryDescriptor) {

-

-			UMSessionManagerParcel parcel = null;

-

-			// Create parcel

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

-			parcel = session.createParcel();

-			parcel.setType(IManifestAttributes.COMPONENT);

-			parcel.setAction(UpdateManagerConstants.OPERATION_ACTION_INSTALL);

-			parcel.setId(((IComponentEntryDescriptor) descriptors[i]).getUniqueIdentifier());

-			parcel.setData((IComponentEntryDescriptor) descriptors[i]);

-

-			defineComponentOperation(parcel, descriptors[i], bVerifyJars);

-		}

-	}

-}

-/**

- * Creates one or more operations for the current parcel.

- */

-public void defineProductOperation(UMSessionManagerParcel parcel, IInstallable descriptor, boolean bVerifyJars) {

-

-	IProductDescriptor productDescriptor = (IProductDescriptor) descriptor;

-	UMSessionManagerOperation operation = null;

-

-	// Create download operation

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

-	operation = parcel.createOperation();

-	operation.setAction(UpdateManagerConstants.OPERATION_COPY);

-	operation.setId(productDescriptor.getUniqueIdentifier());

-	operation.setSource(productDescriptor.getDownloadURL().toExternalForm());

-	String downloadTarget = UMEclipseTree.getStagingArea().toString() + productDescriptor.getDirName() + ".jar";

-	operation.setTarget(downloadTarget);

-	operation.setData(productDescriptor);

-

-	// Create jar verification operation

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

-	if (bVerifyJars == true) {

-		operation = parcel.createOperation();

-		operation.setAction(UpdateManagerConstants.OPERATION_VERIFY_JAR);

-		operation.setId(productDescriptor.getUniqueIdentifier());

-		operation.setSource(downloadTarget);

-		operation.setTarget(null);

-		operation.setData(productDescriptor);

-	}

-

-	// Create apply operation for product files     

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

-	operation = parcel.createOperation();

-	operation.setAction(UpdateManagerConstants.OPERATION_UNZIP_INSTALL);

-	operation.setId(productDescriptor.getUniqueIdentifier());

-	operation.setSource(downloadTarget);

-	String applyTarget = UMEclipseTree.getBaseInstallURL().toExternalForm();

-	operation.setTarget(applyTarget);

-	operation.setData(productDescriptor);

-

-	// Create component sub-parcels

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

-	IComponentEntryDescriptor[] entries = productDescriptor.getComponentEntries();

-	for (int j = 0; j < entries.length; ++j) {

-		if (entries[j].isSelected()) {

-

-			UMSessionManagerParcel subparcel = null;

-			// Create parcel for each component

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

-			subparcel = parcel.createParcel();

-			subparcel.setType(IManifestAttributes.COMPONENT);

-			subparcel.setAction(UpdateManagerConstants.OPERATION_ACTION_INSTALL);

-			subparcel.setId(entries[j].getUniqueIdentifier());

-			subparcel.setData(entries[j]);

-

-			defineComponentOperation(subparcel, entries[j], bVerifyJars);

-		}

-	}

-

-	// Create apply operation for product files     

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

-	String app = LaunchInfo.getCurrent().getApplicationConfigurationIdentifier();

-	if ((app != null) && (app.equals(productDescriptor.getUniqueIdentifier()))) { 	// dominant app?

-		operation = parcel.createOperation();

-		operation.setAction(UpdateManagerConstants.OPERATION_UNZIP_BINDIR);

-		operation.setId(productDescriptor.getUniqueIdentifier());

-		operation.setSource(downloadTarget);

-		operation.setTarget(applyTarget);

-		operation.setData(productDescriptor);

-	}

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManager.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManager.java
deleted file mode 100644
index ab379b5..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManager.java
+++ /dev/null
@@ -1,351 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

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

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

-import java.io.*;

-import java.net.*;

-import java.util.*;

-

-/**

- * Session Manager executes defined sessions, and manages the update and update history logs.

- * Logs look like this:

- *

- * <session timestamp="xxxx" status="complete" attempts="1">

- *   <operation action="urltocache" status="complete" attempts="1">

- *      <parcel type="component" id="xxx" action="add" status="complete" attempts="1">

- *         <item id="xxx" source="file:///C:/temp/sample_in.java" target="file:///C:/temp/sample_out.java" status="complete" attempts="1">

- *            <message text="successful" timestamp="Thu Mar 01 09:56:49 EST 2001" />

- *         </item>

- *      </parcel>

- *   </operation>

- * </session>

- *

- *

- *  Each element is represented by an UpdateManagerXyz class and have specific

- * member functions for accessing domain specific attributes and child elements.

- * The "status" attribute can be one of "pending", "failed", or "complete".

- */

-

-public class UMSessionManager {

-	

-	protected Log _logUpdate  = null;

-	protected Log _logHistory = null;

-	

-	protected URL _urlUpdate  = null;

-	protected URL _urlHistory = null;

-

-	protected ArrayList _alUpdateSessions = new ArrayList();

-/**

- * Constructs an UpdateManager with the update log and history log URLs.

- * The boolean specifies whether an exception should be thrown if one of

- * the logs is not found.

- */

-public UMSessionManager(URL urlUpdateLog, URL urlHistoryLog, boolean notifyIfLogNotFound) throws LogStoreException {

-

-	_urlUpdate = urlUpdateLog;

-	_urlHistory = urlHistoryLog;

-

-	// Attempt to open the two logs

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

-	_logUpdate = new Log();

-	_logHistory = new Log();

-

-	// If the files do not exist

-	// notify if required.  Otherwise assume new files

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

-	try {

-		_logUpdate.load(_urlUpdate);

-	}

-	catch (LogStoreException ex) {

-//		_logUpdate.printEntryTree(0);

-		if (notifyIfLogNotFound == true) {

-			throw ex;

-		}

-	}

-

-	// Create the update session structure from the log

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

-	buildTreeFromLog( _logUpdate );

-

-/*	

-	try {

-		_logHistory.load(_urlUpdate);

-	}

-	catch (LogStoreException ex) {

-		

-		if (notifyIfLogNotFound == true) {

-			throw ex;

-		}

-	}

-

-	_logHistory.printEntryTree(0);

-*/

-}

-/**

- * Creates a tree of sessions from the given log.

- * @param logUpdate org.eclipse.update.internal.core.Log

- * @param alUpdate java.util.ArrayList

- */

-private void buildTreeFromLog(Log logUpdate ) {

-	

-	ILogEntry[] entryChildren = logUpdate.getChildEntries();

-

-	UMSessionManagerSession session = null;

-	

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

-	{

-		session = new UMSessionManagerSession( entryChildren[i] );

-

-		_alUpdateSessions.add( session );

-		

-		session.buildTreeFromLog( entryChildren[i] );

-	}

-	

-	return;

-}

-/**

- * Creates a new update session where pending operations may be defined for

- * completion.

- * @return org.eclipse.update.internal.core.UMSessionManagerSession

- */

-public UMSessionManagerSession createUpdateSession() {

-

-	UMSessionManagerSession umSession = null;

-	

-	if( _logUpdate != null )

-	{

-		ILogEntry entrySession = new LogEntry( _logUpdate, UpdateManagerConstants.STRING_SESSION );

-		

-		_logUpdate.addChildEntry( entrySession );

-

-		umSession = new UMSessionManagerSession( entrySession );

-

-		umSession.buildTreeFromLog( entrySession );

-

-		_alUpdateSessions.add( umSession );

-	}

-	

-	return umSession;

-}

-/**

- * Runs all sessions

- */

-public boolean executePendingSessions(IProgressMonitor progressMonitor) {

-

-	// Run each of the failed sessions

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

-	boolean bSuccess = true;

-

-	UMSessionManagerSession session = null;

-

-	Iterator iter = _alUpdateSessions.iterator();

-

-	while (iter.hasNext() == true) {

-

-		session = (UMSessionManagerSession) iter.next();

-

-		if (session.getStatus().equals(UpdateManagerConstants.STATUS_PENDING) == true) {

-			if (session.execute(progressMonitor) == false) {

-				bSuccess = false;

-			}

-		}

-	}

-

-	return bSuccess;

-}

-/**

- * Runs one session

- */

-public boolean executeSession(UMSessionManagerSession session, IProgressMonitor progressMonitor) {

-

-	if (session == null)

-		return false;

-

-	// Run the session

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

-	return session.execute(progressMonitor);

-}

-/**

- * Runs one session

- */

-public boolean executeSessionUndo(UMSessionManagerSession session, IProgressMonitor progressMonitor) {

-

-	if (session == null)

-		return false;

-

-	// Run the session

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

-	return session.executeUndo(progressMonitor);

-}

-/**

- * Returns an array of sessions that are complete.

- * @return org.eclipse.update.internal.core.UMSessionManagerSession[]

- */

-private UMSessionManagerSession[] getUpdateSessionsCompleted() {

-

-	// Obtain the successfully completed sessions

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

-	UMSessionManagerSession session = null;

-

-	ArrayList alSessionsCompleted = new ArrayList();

-

-	Iterator iter = _alUpdateSessions.iterator();

-

-	while (iter.hasNext() == true) {

-

-		session = (UMSessionManagerSession) iter.next();

-

-		if (session.isComplete() == true) {

-			alSessionsCompleted.add(session);

-		}

-	}

-

-	Object[] objArray = alSessionsCompleted.toArray();

-	UMSessionManagerSession[] sessions = new UMSessionManagerSession[objArray.length];

-	System.arraycopy(objArray, 0, sessions, 0, objArray.length);

-

-	return sessions;

-}

-/**

- * Removes an existing update session

- *

- */

-private boolean removeUpdateSession(UMSessionManagerSession session) {

-

-	if (session != null && _logUpdate != null) {

-

-	    // Ensure session exists

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

-		if (_alUpdateSessions.contains(session) == false) {

-			return false;

-		}

-

-		// Remove the log entry

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

-		if (session.getLogEntry() != null) {

-

-			if (_logUpdate.removeChildEntry(session.getLogEntry()) == false) {

-				return false;

-			}

-

-			// Remove the session

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

-			_alUpdateSessions.remove(session);

-		}

-	}

-

-	return true;

-}

-/**

- * Saves the current state of the update log.

- */

-public void saveUpdateLog() throws LogStoreException {

-	_logUpdate.save( _urlUpdate );

-}

-/**

- * Moves all completed sessions in the update log to the history log.

- * This method does not parse the history file.  Sessions are written to

- * the end of the history log and removed from the update log tree, and update

- * session tree.  The update log is saved.

- */

-public void updateAndSaveLogs() throws LogStoreException {

-

-	// Check for history log URL

-	// If none, save the update log

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

-	if (_urlHistory == null) {

-		saveUpdateLog();

-		return;

-	}

-

-	// Obtain a list of completed update sessions

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

-	UMSessionManagerSession[] sessionsCompleted = getUpdateSessionsCompleted();

-

-	// If there are none, save the update log

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

-	if (sessionsCompleted.length <= 0) {

-		saveUpdateLog();

-		return;

-	}

-

-	// Attempt to open the output log

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

-	String strFilespec = UMEclipseTree.getFileInPlatformString(_urlHistory);

-	

-

-	File file = new File(strFilespec);

-

-	boolean bExists = file.exists();

-

-	if (bExists == false) {

-		try {

-			bExists = file.createNewFile();

-		}

-		catch (IOException ex) {

-			return;

-		}

-	}

-

-	// Create a file writer and seek to the end of the file

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

-	RandomAccessFile fileWriter = null;

-

-	if (bExists == true) {

-		try {

-			fileWriter = new RandomAccessFile(file, "rw");

-			long lLength = fileWriter.length();

-			fileWriter.seek(lLength);

-		}

-		catch (IOException ex) {

-			fileWriter = null;

-		}

-	}

-

-	// Write out each session log to the history log

-	// Remove the session log from the update log

-	// Save both logs

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

-	StringBuffer strb = new StringBuffer();

-

-	if (fileWriter != null) {

-

-		ILogEntry logEntry = null;

-

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

-

-			logEntry = sessionsCompleted[i].getLogEntry();

-

-			if (logEntry != null) {

-				logEntry.printPersistentEntryString(strb, 0);

-			}

-		}

-	}

-

-	// Write the buffer to the end of the history file

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

-	if (strb.length() > 0) {

-		try {

-			fileWriter.write(strb.toString().getBytes());

-			fileWriter.close();

-		}

-		catch (IOException ex) {

-

-		}

-	}

-

-	// Remove the update sessions from the update log

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

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

-		removeUpdateSession(sessionsCompleted[i]);

-	}

-

-	// Save the update log to keep logs in sync

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

-	saveUpdateLog();

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerEntry.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerEntry.java
deleted file mode 100644
index 9d616c8..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerEntry.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

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

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

-/**

- * Abstract class for update manager objects that have an ILogEntry

- */

-public abstract class UMSessionManagerEntry {

-	protected ILogEntry _logEntry = null;

-	protected ILogEntryProperty _propertyStatus = null;

-	protected ILogEntryProperty _propertyAttempts = null;

-	protected Object            _objData = null;

-/**

- * UpdateManagerEntry constructor comment.

- */

-public UMSessionManagerEntry( ILogEntry logEntry ) {

-	_logEntry = logEntry;

-

-	// Status

-	//-------

-	_propertyStatus = _logEntry.getProperty(UpdateManagerConstants.STRING_STATUS);

-

-	if (_propertyStatus == null) {

-		_propertyStatus = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_STATUS, UpdateManagerConstants.STATUS_PENDING );

-		logEntry.addProperty( _propertyStatus );

-	}

-

-	// Attempts

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

-	_propertyAttempts = _logEntry.getProperty(UpdateManagerConstants.STRING_ATTEMPTS);

-

-	if (_propertyAttempts == null) {

-		_propertyAttempts = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_ATTEMPTS, UpdateManagerConstants.STRING_0 );

-		logEntry.addProperty( _propertyAttempts );

-	}

-

-}

-/**

- * @param logEntry org.eclipse.update.internal.core.ILogEntry

- */

-public void buildTreeFromLog(ILogEntry logEntry) {

-	

-	// Attempts

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

-	ILogEntryProperty property = _logEntry.getProperty(UpdateManagerConstants.STRING_ATTEMPTS);

-

-	if (property != null) {

-		_propertyAttempts = property;

-	}

-	

-	// Status

-	//-------

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_STATUS);

-

-	if (property != null) {

-		_propertyStatus = property;

-	}

-}

-/**

- * 

- * @return java.lang.String

- * @param strPrefix java.lang.String

- * @param ex java.lang.Exception

- */

-public String createMessageString(String strPrefix, Exception ex) {

-

-	StringBuffer strb = new StringBuffer(strPrefix);

-

-	if (ex != null) {

-		if (ex.getLocalizedMessage() != null) {

-			strb.append(": " + ex.getLocalizedMessage());

-		}

-

-		else if (ex.toString() != null && ex.toString().length() > 0) {

-			strb.append(": " + ex.toString());

-		}

-	}

-

-	return strb.toString();

-}

-/**

- * Execute any pending or failed updates.

- */

-public abstract boolean execute( IProgressMonitor progressMonitor );

-/**

- * Execute any pending or failed updates.

- */

-public abstract boolean executeUndo( IProgressMonitor progressMonitor );

-/**

- * @return java.lang.Object

- */

-public java.lang.Object getData() {

-	return _objData;

-}

-/**

- * Returns the log entry associated with this session object.

- * @return org.eclipse.update.internal.core.ILogEntry

- */

-public ILogEntry getLogEntry() {

-	return _logEntry;

-}

-/**

- *

- * @return java.lang.String

- */

-public String getStatus() {

-

-	return _propertyStatus.getValue();

-}

-/**

- * @param strb java.lang.StringBuffer

- * @param iIndentation int

- */

-public abstract void getStatusString(StringBuffer strb, int iIndentation);

-/**

- * Increments the value of the number of attempts

- */

-public void incrementAttemptCount() {

-

-	int iAttempts = 0;

-

-	try {

-		iAttempts = new Integer(_propertyAttempts.getValue()).intValue();

-	}

-	catch (Exception ex) {

-	}

-

-	_propertyAttempts.setValue( Integer.toString( ++iAttempts ) );

-}

-/**

- * @param strb java.lang.StringBuffer

- * @param iIndentation int

- */

-public void indent(StringBuffer strb, int iIndentation) {

-

-	// Line feed

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

-	strb.append( "\n" );

-

-	// Indentation spaces

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

-	for( int i=0; i<iIndentation; ++i ){

-		strb.append( " " );

-	}

-}

-/**

- */

-public void resetAttemptCount() {

-	_propertyAttempts.setValue( UpdateManagerConstants.STRING_0 );

-}

-/**

- * Stores IManifestDescriptor

- * @param newData java.lang.Object

- */

-public void setData(java.lang.Object objData) {

-	_objData = objData;

-}

-/**

- * Every entry has a status property.

- * @return java.lang.String

- * @param status java.lang.String

- */

-public void setStatus(String strStatus) {

-

-	_propertyStatus.setValue( strStatus != null ? strStatus : UpdateManagerConstants.STRING_EMPTY );

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerMessage.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerMessage.java
deleted file mode 100644
index 3a9c9b9..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerMessage.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

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

-import java.util.Date;

-

-/**

- * This class represents a failure message and consists of a timestamp and text.

- *

- */

-

-public class UMSessionManagerMessage {

-	protected ILogEntry _logEntry = null;

-	protected ILogEntryProperty _propertyTimestamp = null;

-	protected ILogEntryProperty _propertyText      = null;

-/**

- *

- * @param logEntry org.eclipse.update.internal.core.ILogEntry

- */

-public UMSessionManagerMessage(ILogEntry logEntry) {

-

-	_logEntry = logEntry;

-	

-	// Text

-	//-----

-	_propertyText = _logEntry.getProperty(UpdateManagerConstants.STRING_TEXT);

-

-	if (_propertyText == null) {

-		_propertyText = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_TEXT, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyText );

-	}

-

-	// Timestamp

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

-	_propertyTimestamp = _logEntry.getProperty(UpdateManagerConstants.STRING_TIMESTAMP);

-

-	if (_propertyTimestamp == null) {

-		_propertyTimestamp = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_TIMESTAMP, new Date().toString() );

-		logEntry.addProperty( _propertyTimestamp );

-	}

-}

-/**

- * @param logEntry org.eclipse.update.internal.core.LogEntry

- */

-public void buildTreeFromLog(ILogEntry logEntry) {

-		

-	// Text

-	//-----

-	ILogEntryProperty property = _logEntry.getProperty(UpdateManagerConstants.STRING_TEXT);

-

-	if (property != null) {

-		_propertyText = property;

-	}

-

-	// Source

-	//-------

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_TIMESTAMP);

-

-	if (property != null) {

-		_propertyTimestamp = property;

-	}

-}

-/**

- * @return java.lang.String

- */

-public String getText() {

-	

-	return _propertyText.getValue();

-}

-/**

- *

- */

-public void setText( String strID ) {

-	_propertyText.setValue( strID != null ? strID : UpdateManagerConstants.STRING_EMPTY );

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerOperation.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerOperation.java
deleted file mode 100644
index f6aadd5..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerOperation.java
+++ /dev/null
@@ -1,1189 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.webdav.http.client.Response;

-import java.util.jar.*;

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

-import org.eclipse.core.internal.boot.LaunchInfo;

-import org.eclipse.update.internal.ui.*;

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

-import java.io.*;

-import java.net.*;

-import java.util.*;

-

-/**

- * This class represents an operation such as "copy" or "unzip".

- * Attributes are id, status (pending/complete), action,

- * source, target.  Children are messages.

- */

-

-public class UMSessionManagerOperation extends UMSessionManagerEntry {

-		

-	protected ArrayList         _alMessages     = new ArrayList();

-	protected ILogEntryProperty _propertyAction = null;

-	protected ILogEntryProperty _propertyID     = null;

-	protected ILogEntryProperty _propertySource = null;

-	protected ILogEntryProperty _propertyTarget = null;

-/**

- * UpdateManagerOperation constructor comment.

- */

-public UMSessionManagerOperation( ILogEntry logEntry ) {

-	super( logEntry );

-

-	// Action

-	//-------

-	_propertyAction = _logEntry.getProperty(UpdateManagerConstants.STRING_ACTION);

-

-	if (_propertyAction == null) {

-		_propertyAction = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_ACTION, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyAction );

-	}

-

-	// Id

-	//---

-	_propertyID = _logEntry.getProperty(UpdateManagerConstants.STRING_ID);

-

-	if (_propertyID == null) {

-		_propertyID = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_ID, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyID );

-	}

-

-	// Source

-	//-------

-	_propertySource = _logEntry.getProperty(UpdateManagerConstants.STRING_SOURCE);

-

-	if (_propertySource == null) {

-		_propertySource = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_SOURCE, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertySource );

-	}

-

-	// Target

-	//-------

-	_propertyTarget = _logEntry.getProperty(UpdateManagerConstants.STRING_TARGET);

-

-	if (_propertyTarget == null) {

-		_propertyTarget = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_TARGET, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyTarget);

-	}

-}

-/**

- * @param logEntry org.eclipse.update.internal.core.LogEntry

- */

-public void buildTreeFromLog(ILogEntry logEntry) {

-	

-	super.buildTreeFromLog( logEntry );

-	

-	// Action

-	//-------

-	ILogEntryProperty property = _logEntry.getProperty(UpdateManagerConstants.STRING_ACTION);

-

-	if (property != null) {

-		_propertyAction = property;

-	}

-	

-

-	// Id

-	//---

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_ID);

-

-	if (property != null) {

-		_propertyID = property;

-	}

-

-	// Source

-	//-------

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_SOURCE);

-

-	if (property != null) {

-		_propertySource = property;

-	}

-

-	// Target

-	//-------

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_TARGET);

-

-	if (property != null) {

-		_propertyTarget = property;

-	}

-

-

-	ILogEntry[] entries = logEntry.getChildEntries();

-

-	// Messages

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

-	int iIndex = 0;

-	UMSessionManagerMessage message = null;

-	

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

-		if (entries[i] != null && entries[i].getName().equals(UpdateManagerConstants.STRING_MESSAGE) == true) {

-			message = new UMSessionManagerMessage( entries[i] );			

-	        _alMessages.add( message );

-

-	        message.buildTreeFromLog( entries[i] );

-		}

-	}

-}

-/**

- * Copies all data from input stream to output stream.

- * @param inputStream java.io.InputStream

- * @param outputStream java.io.OutputStream

- */

-public String copyStream(InputStream streamInput, OutputStream streamOutput, long lContentLength, String strTaskName, IProgressMonitor progressMonitor, boolean bSubtask) {

-

-	String strErrorMessage = null;

-

-	// Allocate buffer

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

-	byte[] byteArray = null;

-

-	if (streamInput != null && streamOutput != null) {

-		byteArray = new byte[64000];

-	}

-

-	if (byteArray != null) {

-

-		// Copy

-		//-----

-		if (progressMonitor != null) {

-			if (bSubtask == false) {

-				if (lContentLength > 0 && lContentLength < Integer.MAX_VALUE)

-					progressMonitor.beginTask(UpdateManagerStrings.getString("S_Copy") + ": " +strTaskName, (int) lContentLength);

-				else

-					progressMonitor.beginTask(UpdateManagerStrings.getString("S_Copy") + ": "  + strTaskName, IProgressMonitor.UNKNOWN);

-			}

-			else {

-				progressMonitor.subTask(UpdateManagerStrings.getString("S_Copy") + ": "  + strTaskName);

-			}

-		}

-

-		int iBytesReceived = 0;

-

-		do {

-			// Read

-			//-----

-			try {

-				iBytesReceived = streamInput.read(byteArray);

-			}

-			catch (Exception ex) {

-				iBytesReceived = 0;

-				strErrorMessage = UpdateManagerStrings.getString("S_Error_reading_from_input_stream") + ": " + ex.getMessage();

-			}

-

-			// Write

-			//------

-			if (iBytesReceived > 0) {

-				try {

-					streamOutput.write(byteArray, 0, iBytesReceived);

-

-					if (progressMonitor != null && bSubtask == false)

-						progressMonitor.worked(iBytesReceived);

-				}

-				catch (IOException ex) {

-					iBytesReceived = 0;

-					strErrorMessage = UpdateManagerStrings.getString("S_Error_writing_to_output_stream") + ": " + ex.getMessage();

-				}

-			}

-		}

-		while (iBytesReceived > 0);

-

-		if (progressMonitor != null && bSubtask == false) {

-			progressMonitor.done();

-		}

-	}

-

-	return strErrorMessage;

-}

-/**

- *

- * @return org.eclipse.update.internal.core.UMSessionManagerMessage

- * @param actionType java.lang.String

- */

-public UMSessionManagerMessage createMessage() {

-

-	// Create a new log entry

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

-	ILogEntry logEntryChild = new LogEntry( _logEntry, UpdateManagerConstants.STRING_MESSAGE );

-	_logEntry.addChildEntry( logEntryChild );

-

-	// Create the operation object

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

-	UMSessionManagerMessage message = new UMSessionManagerMessage( logEntryChild );

-	

-	message.buildTreeFromLog( logEntryChild );

-	

-	_alMessages.add( message );

-	

-	return message;

-}

-/**

- *

- * 

- */

-public boolean doCopy(IProgressMonitor progressMonitor) {

-

-	String strErrorMessage = null;

-

-	// Input URL

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

-	URL urlInput = null;

-

-	try {

-		urlInput = new URL(getSource());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Source_URL_is_malformed"), ex);

-	}

-

-	URL urlOutput = null;

-

-	// Output URL

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

-	try {

-		urlOutput = new URL(getTarget());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Target_URL_is_malformed"), ex);

-	}

-

-	// Input

-	//-------

-	InputStream streamInput = null;

-

-	long lContentLength = 0;

-

-	if (urlInput != null && urlOutput != null) {

-

-		// Input stream

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

-		try {

-			URLHandler.Response response = (URLHandler.Response)URLHandler.open(urlInput);

-			lContentLength = response.getContentLength();

-			if( response.getResponseCode() == HttpURLConnection.HTTP_OK )

-				streamInput = response.getInputStream();

-		}

-		catch (IOException ex) {

-			strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_obtain_source_input_stream"), ex);

-		}

-

-	}

-

-	// Output

-	//-------

-	OutputStream streamOutput = null;

-

-	if (streamInput != null) {

-

-		// Output connection

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

-		URLConnection urlConnectionOutput = null;

-		

-		try {

-			urlConnectionOutput = urlOutput.openConnection();

-			urlConnectionOutput.setDoOutput(true);

-		}

-		catch (IOException ex) {

-			strErrorMessage = createMessageString( UpdateManagerStrings.getString("S_Unable_to_connect"), ex );

-		}

-

-		// Output stream

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

-		if (urlConnectionOutput != null) {

-			try {

-				streamOutput = urlConnectionOutput.getOutputStream();

-			}

-			catch (IOException ex) {

-				strErrorMessage = createMessageString( UpdateManagerStrings.getString("S_Unable_to_obtain_target_output_stream"), ex );

-			}

-		}

-

-		// Attempt to create a file output stream

-		// This is used when protocol is file: or valoader:

-		// thus our local writes are all file I/O currently

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

-		if (streamOutput == null) {

-	        try

-	        {

-		 		streamOutput = getFileOutputStream(urlOutput);

-	        }

-	        catch( IOException ex){

-				strErrorMessage = createMessageString( UpdateManagerStrings.getString("S_Unable_to_create_file"), ex );

-			}

-		}

-	}

-

-	if( streamInput != null && streamOutput != null )

-	{

-	    strErrorMessage = copyStream( streamInput, streamOutput, lContentLength, urlInput.toExternalForm(), progressMonitor, false );

-	}    

-

-	// Close input stream

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

-	if (streamInput != null) {

-		try {

-			streamInput.close();

-		}

-		catch (IOException ex) {

-		}

-	}

-

-	// Close output stream

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

-	if (streamOutput != null) {

-		try {

-			streamOutput.flush();

-			streamOutput.close();

-		}

-		catch (IOException ex) {

-			strErrorMessage = createMessageString( UpdateManagerStrings.getString("S_Error_closing_output_stream"), ex );

-		}

-	}

-	

-	// Increment the number of attempts

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

-	incrementAttemptCount();

-

-	// Error return

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

-	if (strErrorMessage != null) {

-		UMSessionManagerMessage message = createMessage();

-		message.setText(strErrorMessage);

-		setStatus(UpdateManagerConstants.STATUS_FAILED);

-		return false;

-	}

-

-	// Successful return

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

-	setStatus(UpdateManagerConstants.STATUS_SUCCEEDED);

-

-	return true;

-}

-/**

- *

- * 

- */

-public boolean doUnzip(IProgressMonitor progressMonitor) {

-

-	String strErrorMessage = null;

-	int rc = UpdateManagerConstants.UNDEFINED_CONTENTS;

-

-	// Input URL

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

-	URL urlInput = null;

-	try {

-		urlInput = new URL(getSource());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Source_URL_is_malformed"), ex);

-	}

-

-	// Output URL

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

-	URL urlOutput = null;

-	try {

-		urlOutput = new URL(getTarget());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Target_URL_is_malformed"), ex);

-	}

-

-	// For unzipping plugins or component/configuration jar, 

-	// set up the list of directories to look for, also call

-	// LaunchInfo.installPending

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

-	Vector dirNames = new Vector();

-	Vector dirNamesInstalled = new Vector();// keep track of plugins/fragments unzipped

-	Vector dirNamesUnexpected = new Vector();	// keep track of unexpected plugins/fragments dir

-	ArrayList productVIDs = new ArrayList();

-	ArrayList componentVIDs = new ArrayList();

-	ArrayList pluginVIDs = new ArrayList();

-	ArrayList fragmentVIDs = new ArrayList();

-

-	if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS ) {

-		IComponentDescriptor comp = null;

-		if (getData() instanceof IComponentEntryDescriptor) {

-			comp = ((IComponentEntryDescriptor) getData()).getComponentDescriptor();

-		} else {

-			comp = (IComponentDescriptor) getData();

-		}

-		if (comp != null) {

-			IPluginEntryDescriptor[] plugins = comp.getPluginEntries();

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

-				dirNames.addElement( UMEclipseTree.PLUGINS_DIR + "/" + plugins[i].getDirName());

-				pluginVIDs.add(new LaunchInfo.VersionedIdentifier(plugins[i].getUniqueIdentifier(), plugins[i].getVersionStr()));

-			}

-			IFragmentEntryDescriptor[] fragments = comp.getFragmentEntries();

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

-				dirNames.addElement( UMEclipseTree.FRAGMENTS_DIR + "/" + fragments[i].getDirName());	

-				fragmentVIDs.add(new LaunchInfo.VersionedIdentifier(plugins[i].getUniqueIdentifier(), plugins[i].getVersionStr()));

-			}

-		} else {

-			strErrorMessage = UpdateManagerStrings.getString("S_Error_in_registry");

-		}

-	} else if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL) {

-		rc = UpdateManagerConstants.INSTALL_XML_MISSING;

-		if (getData() instanceof IProductDescriptor) {

-			IProductDescriptor desc = (IProductDescriptor) getData();

-			dirNames.addElement(UMEclipseTree.INSTALL_DIR + "/" + UMEclipseTree.PRODUCTS_DIR + "/" + desc.getDirName());

-			productVIDs.add(new LaunchInfo.VersionedIdentifier(desc.getUniqueIdentifier(), desc.getVersionStr()));

-		} else { 

-			IComponentDescriptor desc = null;

-			if (getData() instanceof IComponentEntryDescriptor) {

-				desc = ((IComponentEntryDescriptor) getData()).getComponentDescriptor();

-			} else {

-				desc = (IComponentDescriptor) getData();

-			}

-			dirNames.addElement(UMEclipseTree.INSTALL_DIR + "/" + UMEclipseTree.COMPONENTS_DIR + "/" + desc.getDirName());

-			componentVIDs.add(new LaunchInfo.VersionedIdentifier(desc.getUniqueIdentifier(), desc.getVersionStr()));

-		}

-	}

-	if (!LaunchInfo.getCurrent().installPending(productVIDs, componentVIDs, pluginVIDs, fragmentVIDs)) {

-		strErrorMessage = UpdateManagerStrings.getString("S_Error_occurred_during_installation_setup");

-	}

-	

-	

-	// Create a file specification from the input URL

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

-	String strFilespec = UMEclipseTree.getFileInPlatformString(urlInput);

-

-	JarFile jarFile = null;

-

-	try {

-		jarFile = new JarFile(strFilespec);

-	}

-	catch (IOException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_open_Jar_file"), ex);

-	}

-

-	if ((jarFile != null) && (strErrorMessage == null)) {

-

-		JarEntry entry = null;

-		InputStream streamInputEntry = null;

-

-		int iCount = jarFile.size();

-		

-		// Set up progress monitor

-		// Compute the filename without the path information

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

-		String strFilename = strFilespec;

-		int iIndex = strFilespec.lastIndexOf(File.separatorChar);

-		

-		if (iIndex >= 0 && iIndex < strFilespec.length() - 1) {

-			strFilename = strFilespec.substring(iIndex + 1);

-		}

-

-		if (progressMonitor != null) {

-			progressMonitor.beginTask(UpdateManagerStrings.getString("S_Install") + ": " + strFilename, iCount);

-		}

-

-

-		// Do each jar file entry

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

-		Enumeration enum = jarFile.entries();

-		while (enum.hasMoreElements() == true) {

-			entry = (JarEntry) enum.nextElement();

-			String entryName = entry.getName();

-			

-			if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS ) {

-				// Unzip plugins and fragments.  Skip entries not under plugins/  or fragments/ trees

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

-				if ((!entryName.startsWith(UMEclipseTree.PLUGINS_DIR) &&

-					!entryName.startsWith(UMEclipseTree.FRAGMENTS_DIR)) 

-					|| entryName.endsWith("/")) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}

-				String prefix = entryName;

-				int second_slash = entryName.indexOf("/", (entryName.indexOf("/")+1));

-				if (second_slash > 0) 

-					prefix = entryName.substring(0,second_slash);

-				int match = dirNames.indexOf(prefix);

-				if (match < 0) {   // not a valid plugin

-					if (!dirNamesUnexpected.contains(prefix))

-						dirNamesUnexpected.addElement(prefix);

-					continue;

-				}

-				// got an entry with matching directory 

-				// keep track of which ones they are

-				if (!dirNamesInstalled.contains(prefix))

-					dirNamesInstalled.addElement(prefix);

-			} else if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL) {

-				// Skip over entries that don't start with the right dir naming convention (id_version)

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

-				if (!entryName.startsWith((String)dirNames.firstElement()) || entryName.endsWith("/")) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}

-				// got an entry - as long as we have install.xml we're happy

-				if (entryName.equals((String)dirNames.firstElement()+"/"+IManifestAttributes.INSTALL_MANIFEST))

-					rc = UpdateManagerConstants.OK;

-			} else if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_BINDIR) {

-				// Unzip the bin directory, if it exists

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

-				if (!entryName.startsWith(UMEclipseTree.BIN_DIR) || entryName.endsWith("/")) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}

-				// got bin dir

-				rc = UpdateManagerConstants.OK;

-			}

-			try {

-				streamInputEntry = jarFile.getInputStream(entry);

-			}

-			catch (IOException ex) {

-				streamInputEntry = null;

-				strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_open_jar_entry_input_stream"), ex);

-				break;

-			}

-			catch (SecurityException ex) {

-				streamInputEntry = null;

-				strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Encountered_jar_entry_security_exception"), ex);

-				break;

-			}

-

-

-			// Create an output URL

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

-			URL urlOutputFile = null;

-

-			if (streamInputEntry != null) {

-				try {

-					// Ensure file separator between target directory, and source file path

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

-					StringBuffer strbTarget = new StringBuffer(getTarget());

-					if (getTarget().endsWith("/") == false) {

-						strbTarget.append('/');

-					}

-					strbTarget.append(entryName);

-					urlOutputFile = new URL(strbTarget.toString());

-					File fTarget = new File(UMEclipseTree.getFileInPlatformString(urlOutputFile));

-					if (fTarget.exists() &&

-						(getAction() != UpdateManagerConstants.OPERATION_UNZIP_BINDIR)) {		

-						// we will not override existing files, except in bin/

-						if (progressMonitor != null) progressMonitor.worked(1);

-						continue;

-					}

-				}

-				catch (MalformedURLException ex) {

-					strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_create_jar_entry_URL"), ex);

-					break;

-				}

-			}

-

-

-			// Create a file output stream

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

-			OutputStream streamOutputFile = null;

-

-			if (urlOutputFile != null) {

-				try {

-					streamOutputFile = getFileOutputStream(urlOutputFile);

-				}

-				catch (IOException ex) {

-					strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_create_output_file_for_Jar_entry") + ": " + urlOutputFile.toExternalForm(), ex);

-					break;

-				}

-			}

-

-			// Copy from input to output stream

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

-			if (streamInputEntry != null && streamOutputFile != null) {

-

-	            // Do not alter progress monitor

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

-				strErrorMessage = copyStream(streamInputEntry, streamOutputFile, 0, entryName, null, true );

-				if (strErrorMessage != null) {

-					break;

-				}

-			}

-			try {

-				if (streamInputEntry != null) 	streamInputEntry.close();

-				if (streamOutputFile != null) 	streamOutputFile.close();

-			} catch (java.io.IOException ex) {

-				// unchecked

-			}

-			if (progressMonitor != null) progressMonitor.worked(1);

-		}	// while

-//		strErrorMessage = "Error Injected!";

-		try {

-			jarFile.close();

-		} catch (java.io.IOException ex) {

-			// unchecked

-		}		

-	}	// if jarFile is not null

-

-	// tally up what's unzipped and what's not

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

-	if (strErrorMessage == null) {

-		if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS ) {

-			if (dirNamesUnexpected.size() > 0) {

-				rc = UpdateManagerConstants.UNDEFINED_CONTENTS;

-				strErrorMessage = UpdateManagerStrings.getString("S_Undefined_contents_found_in_Jar");

-			}

-			else if (!dirNamesInstalled.containsAll(dirNames)) {

-				rc = UpdateManagerConstants.MISSING_CONTENTS;

-				strErrorMessage = UpdateManagerStrings.getString("S_Unable_to_find_defined_contents_in_Jar");

-			} 

-		} else if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL) {

-			if (rc != UpdateManagerConstants.OK)

-				strErrorMessage = UpdateManagerStrings.getString("S_Unable_to_find_install_manifest_file_in_Jar");

-		}

-	}		

-	

-	// Call LaunchInfo.installConfirmed if all clean

-	// Otherwise, call after we've cleaned up (undo*)

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

-	if (strErrorMessage == null) {

-		if (!LaunchInfo.getCurrent().installConfirmed(productVIDs, componentVIDs, pluginVIDs, fragmentVIDs)) {

-			strErrorMessage = UpdateManagerStrings.getString("S_Error_occurred_during_installation_completion");

-		}

-	}

-	

-	if (progressMonitor != null) progressMonitor.done();

-

-	// Increment the number of attempts

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

-	incrementAttemptCount();

-

-	// Error return

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

-	if (strErrorMessage != null) {

-		UMSessionManagerMessage message = createMessage();

-		message.setText(strErrorMessage);

-		setStatus(UpdateManagerConstants.STATUS_FAILED);

-		return false;

-	}

-

-	// Successful return

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

-	setStatus(UpdateManagerConstants.STATUS_SUCCEEDED);

-

-	return true;

-}

-/**

- *

- * 

- */

-public boolean doVerify(IProgressMonitor progressMonitor) {

-

-	String strErrorMessage = null;

-

-	// Input URL

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

-	URL urlInput = null;

-

-	try {

-		urlInput = new URL(getSource());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Source_URL_is_malformed"), ex);

-	}

-

-	IInstallable installable = (IInstallable) getData();

-

-	String strName = installable.getLabel();

-	String strId = null;

-	String strProviderName = null;

-

-	if (installable instanceof IProductDescriptor) {

-		strId = ((IProductDescriptor) installable).getUniqueIdentifier();

-		strProviderName = ((IProductDescriptor) installable).getProviderName();

-	}

-	else if (installable instanceof IComponentDescriptor) {

-		strId = ((IComponentDescriptor) installable).getUniqueIdentifier();

-		strProviderName = ((IComponentDescriptor) installable).getProviderName();

-	}

-	else if (installable instanceof IComponentEntryDescriptor) {

-		strId = ((IComponentEntryDescriptor) installable).getUniqueIdentifier();

-	}

-	else if (installable instanceof IPluginEntryDescriptor) {

-		strId = ((IPluginEntryDescriptor) installable).getUniqueIdentifier();

-	}

-	else if (installable instanceof IFragmentEntryDescriptor) {

-		strId = ((IFragmentEntryDescriptor) installable).getUniqueIdentifier();

-	}

-

-	JarVerificationService verifier = UpdateManager.getCurrentInstance().getJarVerifier();

-

-	JarVerificationResult result = verifier.okToInstall(new File(urlInput.getFile()), strId, strName, strProviderName, progressMonitor);

-

-	if (result.getResultCode() == JarVerificationResult.CANCEL_INSTALL) {

-		Exception ex = result.getResultException();

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Installation_cancelled_by_user"), ex);

-	}

-

-	// Increment the number of attempts

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

-	incrementAttemptCount();

-

-	// Error return

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

-	if (strErrorMessage != null) {

-		UMSessionManagerMessage message = createMessage();

-		message.setText(strErrorMessage);

-		setStatus(UpdateManagerConstants.STATUS_FAILED);

-		return false;

-	}

-

-	// Successful return

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

-	setStatus(UpdateManagerConstants.STATUS_SUCCEEDED);

-

-	return true;

-}

-/**

- * Execute copy from source URL to target URL.

- */

-public boolean execute(IProgressMonitor progressMonitor) {

-

-	if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL ||

-		getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS ||

-		getAction() == UpdateManagerConstants.OPERATION_UNZIP_BINDIR) {

-		return doUnzip(progressMonitor);

-	}

-	

-	else if (getAction() == UpdateManagerConstants.OPERATION_COPY) {

-		return doCopy(progressMonitor);

-	}

-	else if (getAction() == UpdateManagerConstants.OPERATION_VERIFY_JAR) {

-		return doVerify(progressMonitor);

-	}

-	return false;

-}

-/**

- * Execute any pending or failed updates.

- */

-public boolean executeUndo(IProgressMonitor progressMonitor) {

-

-	// Undo all successful and failed operations

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

-	if (getStatus().equals(UpdateManagerConstants.STATUS_PENDING) == false) {

-		if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL ||

-			getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS) {

-			return undoUnzip(progressMonitor);

-		}

-		else if (getAction() == UpdateManagerConstants.OPERATION_COPY) {

-			return undoCopy(progressMonitor);

-		}

-		else if (getAction() == UpdateManagerConstants.OPERATION_VERIFY_JAR){

-			return undoVerify(progressMonitor);

-		}

-	}

-

-	return true;

-}

-/**

- * 

- * @return java.lang.String

- */

-public String getAction() {

-	

-	return _propertyAction.getValue();

-}

-/**

- * Creates a file output stream from the URL.

- * @param url java.net.URL

- */

-private FileOutputStream getFileOutputStream(URL url) throws IOException {

-

-	// Convert the URL to a string

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

-	String strFilespec = UMEclipseTree.getFileInPlatformString(url);

-

-

-	// Create directory structure

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

-	int iIndex = strFilespec.lastIndexOf(File.separator);

-	if (iIndex >= 0) {

-		String strPath = strFilespec.substring(0, iIndex+1);

-

-		File fileDirectory = new File(strPath);

-		if (fileDirectory.exists() == false) {

-			fileDirectory.mkdirs();

-		}

-	}

-

-	// Open / create the file

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

-	File file = new File(strFilespec);

-	boolean bExists = file.exists();

-

-	if (bExists == false) {

-		bExists = file.createNewFile();

-	}

-

-	// Create the output stream

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

-	return new FileOutputStream(file);

-}

-/**

- * @return java.lang.String

- */

-public String getId() {

-	

-	return _propertyID.getValue();

-}

-/**

- *

- * @return java.lang.String

- */

-public String getSource() {

-	

-	return _propertySource.getValue();

-}

-/**

- * @param strb java.lang.StringBuffer

- * @param iIndentation int

- */

-public void getStatusString(java.lang.StringBuffer strb, int iIndentation) {

-

-	if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true) {

-		return;

-	}

-	else if (getStatus().equals(UpdateManagerConstants.STATUS_PENDING) == true) {

-		return;

-	}

-

-	else {

-		if (getAction().equals(UpdateManagerConstants.OPERATION_COPY) == true) {

-			indent(strb, iIndentation);

-			strb.append(UpdateManagerStrings.getString("S_Copy") + ": " + getSource());

-		}

-		else if (getAction().equals(UpdateManagerConstants.OPERATION_UNZIP_INSTALL) ||

-				getAction().equals(UpdateManagerConstants.OPERATION_UNZIP_PLUGINS) == true) {

-			indent(strb, iIndentation);

-			strb.append(UpdateManagerStrings.getString("S_Install") + ": " + getSource());

-		}

-

-		// Obtain messages

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

-		for (int i = 0; i < _alMessages.size(); ++i) {

-			indent(strb, iIndentation + 2);

-			strb.append(((UMSessionManagerMessage) _alMessages.get(i)).getText());

-		}

-	}

-}

-/**

- *

- * @return java.lang.String

- */

-public String getTarget() {

-	

-	return _propertyTarget.getValue();

-}

-/**

- *

- * @param actionType java.lang.String

- */

-public void setAction(String strAction) {

-	_propertyAction.setValue( strAction != null ? strAction : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- */

-public void setId( String strID ) {

-	_propertyID.setValue( strID != null ? strID : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- */

-public void setSource( String strSource ) {

-	_propertySource.setValue( strSource != null ? strSource : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- */

-public void setTarget( String strTarget ) {

-	_propertyTarget.setValue( strTarget != null ? strTarget : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- * 

- */

-public boolean undoCopy(IProgressMonitor progressMonitor) {

-

-	String strErrorMessage = null;

-

-	// Output URL

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

-	URL urlOutput = null;

-

-	try {

-		urlOutput = new URL(getTarget());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Target_URL_is_malformed"), ex);

-	}

-

-	if (urlOutput != null) {

-

-		// Convert the URL to a string

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

-		String strFilespec = UMEclipseTree.getFileInPlatformString(urlOutput);

-

-		// Delete the file

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

-		File file = new File(strFilespec);

-		if (file.exists() == true) {

-			if (file.delete() == false) {

-				strErrorMessage = UpdateManagerStrings.getString("S_Unable_to_delete_file") + ": " + strFilespec;

-			}

-		}

-	}

-

-	// Reset the number of attempts

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

-	resetAttemptCount();

-

-	// Error return

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

-	if (strErrorMessage != null) {

-		if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true)

-			setStatus(UpdateManagerConstants.STATUS_SUCCEEDED_UNDO_FAILED);

-		else

-			setStatus(UpdateManagerConstants.STATUS_FAILED_UNDO_FAILED);

-

-		return false;

-	}

-

-	// Successful return

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

-	if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true)

-		setStatus(UpdateManagerConstants.STATUS_SUCCEEDED_UNDO_SUCCEEDED);

-	else

-		setStatus(UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED);

-

-	return true;

-}

-/**

- *

- * 

- */

-public boolean undoUnzip(IProgressMonitor progressMonitor) {

-

-	String strErrorMessage = null;

-

-	// Input URL

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

-	URL urlInput = null;

-	try {

-		urlInput = new URL(getSource());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Source_URL_is_malformed"), ex);

-	}

-

-	// Output URL

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

-	URL urlOutput = null;

-	try {

-		urlOutput = new URL(getTarget());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Target_URL_is_malformed"), ex);

-	}

-

-	// For plugins or component/configuration jar, 

-	// set up the list of directories to look for

-	// This section contains subtle differences from doUnzip()

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

-	Vector dirNames = new Vector();

-	ArrayList productVIDs = new ArrayList();

-	ArrayList componentVIDs = new ArrayList();

-	ArrayList pluginVIDs = new ArrayList();

-	ArrayList fragmentVIDs = new ArrayList();

-	if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS ) {

-		IComponentDescriptor comp = null;

-		if (getData() instanceof IComponentEntryDescriptor) {

-			comp = ((IComponentEntryDescriptor) getData()).getComponentDescriptor();

-		} else {

-			comp = (IComponentDescriptor) getData();

-		}

-		if (comp != null) {

-			IPluginEntryDescriptor[] plugins = comp.getPluginEntries();

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

-				dirNames.addElement( UMEclipseTree.PLUGINS_DIR + "/" + plugins[i].getDirName());

-				pluginVIDs.add(new LaunchInfo.VersionedIdentifier(plugins[i].getUniqueIdentifier(), plugins[i].getVersionStr()));

-			}

-			IFragmentEntryDescriptor[] fragments = comp.getFragmentEntries();

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

-				dirNames.addElement( UMEclipseTree.FRAGMENTS_DIR + "/" + fragments[i].getDirName());	

-				fragmentVIDs.add(new LaunchInfo.VersionedIdentifier(plugins[i].getUniqueIdentifier(), plugins[i].getVersionStr()));

-			}

-		} else {

-			strErrorMessage = UpdateManagerStrings.getString("S_Error_in_registry");

-		}

-	} else if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL) {

-		// rc = UpdateManagerConstants.INSTALL_XML_MISSING;

-		if (getData() instanceof IProductDescriptor) {

-			IProductDescriptor desc = (IProductDescriptor) getData();

-			dirNames.addElement(UMEclipseTree.INSTALL_DIR + "/" + UMEclipseTree.PRODUCTS_DIR + "/" + desc.getDirName() + "/");

-			productVIDs.add(new LaunchInfo.VersionedIdentifier(desc.getUniqueIdentifier(), desc.getVersionStr()));

-		} else { 

-			IComponentDescriptor desc = (IComponentDescriptor) getData();

-			dirNames.addElement(UMEclipseTree.INSTALL_DIR + "/" + UMEclipseTree.COMPONENTS_DIR + "/" + desc.getDirName() + "/");

-			componentVIDs.add(new LaunchInfo.VersionedIdentifier(desc.getUniqueIdentifier(), desc.getVersionStr()));

-		}

-	}

-

-		

-	// Create a file specification from the input URL

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

-	String strFilespec = UMEclipseTree.getFileInPlatformString(urlInput);

-

-	JarFile jarFile = null;

-	

-	try {

-		jarFile = new JarFile(strFilespec);

-	}

-	catch (IOException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_open_Jar_file"), ex);

-	}

-

-	if (jarFile != null) {

-

-		JarEntry entry = null;

-

-		int iCount = jarFile.size();

-

-		// Set up progress monitor

-		// Compute the filename without the path information

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

-		String strFilename = strFilespec;

-		int iIndex = strFilespec.lastIndexOf(File.separatorChar);

-		

-		if (iIndex >= 0 && iIndex < strFilespec.length() - 1) {

-			strFilename = strFilespec.substring(iIndex + 1);

-		}

-		

-		if (progressMonitor != null) progressMonitor.beginTask(UpdateManagerStrings.getString("S_Undo") + ": " + strFilename, iCount);

-

-		// Do each jar file entry

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

-		Enumeration enum = jarFile.entries();

-

-		while (enum.hasMoreElements() == true) {

-			entry = (JarEntry) enum.nextElement();

-			String entryName = entry.getName();

-			

-			if (getAction().equals(UpdateManagerConstants.OPERATION_UNZIP_PLUGINS)) {

-				// Remove the plugins and fragments.  Skip entries not under plugins/ or fragments/ trees

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

-				if ((!entryName.startsWith(UMEclipseTree.PLUGINS_DIR)) &&

-					(!entryName.startsWith(UMEclipseTree.FRAGMENTS_DIR))) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}												

-				if ((entryName.equals(UMEclipseTree.PLUGINS_DIR + "/")) ||

-					(entryName.equals(UMEclipseTree.FRAGMENTS_DIR + "/"))) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}

-				// Don't bother cleaning up the entries not matching the expected list

-				// They weren't unzipped in the first place

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

-				String prefix = entryName;

-				int second_slash = entryName.indexOf("/", (entryName.indexOf("/")+1));

-				if (second_slash > 0) 

-					prefix = entryName.substring(0,second_slash);

-				int match = dirNames.indexOf(prefix);

-				if (match < 0) {   // not a valid plugin

-					continue;

-				}

-			} else if (getAction().equals(UpdateManagerConstants.OPERATION_UNZIP_INSTALL)) {

-				// Remove the component/product items.  Skip over entries that don't match the dirname

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

-				if (!entryName.startsWith((String)dirNames.firstElement())) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}

-			} else if (getAction().equals(UpdateManagerConstants.OPERATION_UNZIP_BINDIR)) {

-				// No-op.   The bin directory contents cannot be undone

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

-				break;

-			}

-

-			if (urlOutput != null) {

-				// Build pathname to actual install location

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

-				strFilespec = urlOutput.getFile() + "/" + entryName;

-				strFilespec = strFilespec.replace('/',File.separatorChar);

-				int k = strFilespec.indexOf(UMEclipseTree.DEVICE_SEPARATOR);

-				if (k != -1 && strFilespec.startsWith(File.separator)) {

-					strFilespec = strFilespec.substring(1);

-				}

-

-				// Delete the file or directory

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

-				File file = new File(strFilespec);

-				if (file.exists() == true) {

-					if (file.isDirectory())

-						UpdateManager.cleanupDirectory(file);

-					if (file.delete() == false) {

-						strErrorMessage = UpdateManagerStrings.getString("S_Unable_to_delete_file") + ": " + strFilespec;

-					}

-				}

-			}

-		if (progressMonitor != null) progressMonitor.worked(1);		

-		} // while

-

-		try {

-			jarFile.close();

-		} catch (java.io.IOException ex) {

-			// unchecked

-		}

-	} // if jarFile is not null

-

-	// Call LaunchInfo.installConfirmed if all clean

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

-	if (strErrorMessage == null) {

-		if (!LaunchInfo.getCurrent().installConfirmed(productVIDs, componentVIDs, pluginVIDs, fragmentVIDs)) {

-			strErrorMessage = UpdateManagerStrings.getString("S_Error_occurred_during_installation_completion");

-		}

-	}

-	

-	if (progressMonitor != null) progressMonitor.done();

-	

-	// Reset the number of attempts

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

-	resetAttemptCount();

-

-	// Error return

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

-	if (strErrorMessage != null) {

-		if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true)

-			setStatus(UpdateManagerConstants.STATUS_SUCCEEDED_UNDO_FAILED);

-		else

-			setStatus(UpdateManagerConstants.STATUS_FAILED_UNDO_FAILED);

-

-		return false;

-	}

-

-	// Successful return

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

-	if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true)

-		setStatus(UpdateManagerConstants.STATUS_SUCCEEDED_UNDO_SUCCEEDED);

-	else

-		setStatus(UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED);

-

-	return true;

-}

-/**

- *

- * 

- */

-public boolean undoVerify(IProgressMonitor progressMonitor) {

-	

-	resetAttemptCount();

-	

-	if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true)

-		setStatus(UpdateManagerConstants.STATUS_SUCCEEDED_UNDO_SUCCEEDED);

-	else

-		setStatus(UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED);

-

-	return true;

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerParcel.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerParcel.java
deleted file mode 100644
index b0c7d97..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerParcel.java
+++ /dev/null
@@ -1,327 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

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

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

-import java.util.*;

-

-/**

- * This class represents either a component or a product.  A parcel can

- * have sub parcels, and copy objects.  Attributes are action (add, fix), id, status (pending, complete),

- * type (component / product).

- */

-

-public class UMSessionManagerParcel extends UMSessionManagerEntry {

-	

-	protected ArrayList _alParcels = new ArrayList();

-	protected ArrayList _alOperations   = new ArrayList();

-	

-	protected ILogEntryProperty _propertyAction = null;

-	protected ILogEntryProperty _propertyID     = null;

-	protected ILogEntryProperty _propertyType   = null;

-/**

- * UpdateManagerParcel constructor comment.

- */

-public UMSessionManagerParcel( ILogEntry logEntry ) {

-	super( logEntry );

-

-	// Action

-	//-------

-	_propertyAction = _logEntry.getProperty(UpdateManagerConstants.STRING_ACTION);

-

-	if (_propertyAction == null) {

-		_propertyAction = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_ACTION, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyAction );

-	}

-

-	// Id

-	//---

-	_propertyID = _logEntry.getProperty(UpdateManagerConstants.STRING_ID);

-

-	if (_propertyID == null) {

-		_propertyID = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_ID, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyID );

-	}

-

-	// Type

-	//-----

-	_propertyType = _logEntry.getProperty(UpdateManagerConstants.STRING_TYPE);

-

-	if (_propertyType == null) {

-		_propertyType = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_TYPE, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyType );

-	}

-}

-/**

- * @param logEntry org.eclipse.update.internal.core.LogEntry

- */

-public void buildTreeFromLog(ILogEntry logEntry) {

-

-	super.buildTreeFromLog( logEntry );

-	

-	// Action

-	//-------

-	ILogEntryProperty property = _logEntry.getProperty(UpdateManagerConstants.STRING_ACTION);

-

-	if (property != null) {

-		_propertyAction = property;

-	}

-

-	// Id

-	//---

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_ID);

-

-	if (property != null) {

-		_propertyID = property;

-	}

-

-	// Type  

-	//-----

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_TYPE);

-

-	if (property != null) {

-		_propertyType = property;

-	}

-		

-	ILogEntry[] entries = logEntry.getChildEntries();

-

-	// Parcels

-	//--------	

-	int iIndex = 0;

-	UMSessionManagerParcel parcel = null;

-	

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

-		if (entries[i] != null && entries[i].getName().equals(UpdateManagerConstants.STRING_PARCEL) == true) {

-			parcel = new UMSessionManagerParcel( entries[i] );			

-	        _alParcels.add( parcel );

-

-	        parcel.buildTreeFromLog( entries[i] );

-		}

-	}

-

-	// Operations

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

-	iIndex = 0;

-	UMSessionManagerOperation operation = null;

-	

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

-		if (entries[i] != null && entries[i].getName().equals(UpdateManagerConstants.STRING_OPERATION) == true) {

-			operation = new UMSessionManagerOperation( entries[i] );			

-	        _alOperations.add( operation );

-

-	        operation.buildTreeFromLog( entries[i] );

-		}

-	}

-}

-/**

- * @return org.eclipse.update.internal.core.UMSessionManagerOperation

- * @param actionType java.lang.String

- */

-public UMSessionManagerOperation createOperation() {

-

-	// Create a new log entry

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

-	ILogEntry logEntryChild = new LogEntry( _logEntry, UpdateManagerConstants.STRING_OPERATION );

-	_logEntry.addChildEntry( logEntryChild );

-

-	// Create the operation object

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

-	UMSessionManagerOperation operation = new UMSessionManagerOperation( logEntryChild );

-	_alOperations.add( operation );

-	

-	return operation;

-}

-/**

- * Creates a sub-parcel

- * @return org.eclipse.update.internal.core.UpdateManagerParcel

- * @param actionType java.lang.String

- */

-public UMSessionManagerParcel createParcel() {

-

-	// Create a new log entry

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

-	ILogEntry logEntryChild = new LogEntry( _logEntry, UpdateManagerConstants.STRING_PARCEL );

-	_logEntry.addChildEntry( logEntryChild );

-

-	// Create the parcel object

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

-	UMSessionManagerParcel parcel = new UMSessionManagerParcel( logEntryChild );

-	_alParcels.add( parcel );

-	

-	return parcel;

-}

-/**

- * Execute any pending or failed updates.

- */

-public boolean execute(IProgressMonitor progressMonitor) {

-

-	// Stop if any failure occurs

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

-	boolean bSuccess = true;

-

-	// Parcels may be sequential, do in forward order

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

-	for (int i = 0; i < _alParcels.size(); ++i) {

-

-		if (((UMSessionManagerParcel) _alParcels.get(i)).execute(progressMonitor) == false) {

-			bSuccess = false;

-			break;

-		}

-	}

-

-	// Operations may be sequential, do in forward order

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

-	if (bSuccess == true) {

-		for (int i = 0; i < _alOperations.size(); ++i) {

-

-			if (((UMSessionManagerOperation) _alOperations.get(i)).execute(progressMonitor) == false) {

-				bSuccess = false;

-				break;

-			}

-		}

-	}

-

-	// Status

-	//-------

-	setStatus(bSuccess == true ? UpdateManagerConstants.STATUS_SUCCEEDED : UpdateManagerConstants.STATUS_FAILED);

-

-	incrementAttemptCount();

-

-	return bSuccess;

-}

-/**

- * Execute any pending or failed updates.

- */

-public boolean executeUndo(org.eclipse.core.runtime.IProgressMonitor progressMonitor) {

-

-	// Undo only failed attempts

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

-	if (getStatus().equals(UpdateManagerConstants.STATUS_FAILED) == false) {

-		return true;

-	}

-

-	// Attempt all even if failure occurs

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

-	boolean bSuccess = true;

-

-	// Parcels may be sequential, undo in reverse order

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

-	for (int i = _alParcels.size() - 1; i >= 0; --i) {

-

-		if (((UMSessionManagerParcel) _alParcels.get(i)).executeUndo(progressMonitor) == false) {

-			bSuccess = false;

-		}

-	}

-

-	// Operations may be sequential, undo in reverse order

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

-	for (int i = _alOperations.size() - 1; i >= 0; --i) {

-

-		if (((UMSessionManagerOperation) _alOperations.get(i)).executeUndo(progressMonitor) == false) {

-			bSuccess = false;

-		}

-	}

-

-	// Status

-	//-------

-	setStatus(bSuccess == true ? UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED : UpdateManagerConstants.STATUS_FAILED_UNDO_FAILED);

-

-	resetAttemptCount();

-

-	return bSuccess;

-}

-/**

- * @return java.lang.String

- */

-public String getAction() {

-	

-	return _propertyAction.getValue();

-}

-/**

- * @return java.lang.String

- */

-public String getId() {

-	

-	return _propertyID.getValue();

-}

-/**

- * Returns all operations

- * @return org.eclipse.update.internal.core.UMSessionManagerOperation[]

- */

-public UMSessionManagerOperation[] getOperations() {

-

-	UMSessionManagerOperation[] operations = new UMSessionManagerOperation[_alOperations.size()];

-	return (UMSessionManagerOperation[])_alOperations.toArray( operations );

-}

-/**

- * Returns all sub-parcels

- * @return org.eclipse.update.internal.core.UpdateManagerParcel[]

- */

-public UMSessionManagerParcel[] getParcels() {

-

-	UMSessionManagerParcel[] parcels = new UMSessionManagerParcel[_alParcels.size()];

-	return (UMSessionManagerParcel[])_alParcels.toArray( parcels );

-}

-/**

- * @param strb java.lang.StringBuffer

- * @param iIndentation int

- */

-public void getStatusString(java.lang.StringBuffer strb, int iIndentation) {

-

-	if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true) {

-		return;

-	}

-

-	else {

-		// Parcel label

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

-		IInstallable descriptor = (IInstallable) getData();

-

-		indent(strb, iIndentation);

-		strb.append( descriptor.getLabel());

-

-

-		// Parcels may be sequential, do in forward order

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

-		for (int i = 0; i < _alParcels.size(); ++i) {

-

-			((UMSessionManagerParcel) _alParcels.get(i)).getStatusString(strb, iIndentation + 2);

-		}

-

-		// Operations may be sequential, do in forward order

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

-		for (int i = 0; i < _alOperations.size(); ++i) {

-

-			((UMSessionManagerOperation) _alOperations.get(i)).getStatusString(strb, iIndentation + 2);

-		}

-	}

-}

-/**

- * @return java.lang.String

- */

-public String getType() {

-	

-	return _propertyType.getValue();

-}

-/**

- *

- */

-public void setAction( String strAction ) {

-	_propertyAction.setValue( strAction != null ? strAction : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- */

-public void setId( String strID ) {

-	_propertyID.setValue( strID != null ? strID : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- */

-public void setType( String strType ) {

-	_propertyType.setValue( strType != null ? strType : UpdateManagerConstants.STRING_EMPTY );

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerSession.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerSession.java
deleted file mode 100644
index 369855a..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerSession.java
+++ /dev/null
@@ -1,207 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

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

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

-import java.util.Date;

-import java.util.*;

-

-/**

- * This class represents a session in which update manager operations are

- * executed.  This class contains parcel objects and has status and timestamp

- * as its attributes.  The timestamp attribute is automatically set when the session

- * is created for the first time.

- */

-

-public class UMSessionManagerSession extends UMSessionManagerEntry {

-	protected ArrayList _alParcels = new ArrayList();

-	protected ILogEntryProperty _propertyTimestamp = null;

-/**

- * UpdateManagerSession constructor comment.

- */

-public UMSessionManagerSession(ILogEntry logEntry) {

-	super( logEntry );

-

-	// Timestamp

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

-	_propertyTimestamp = _logEntry.getProperty(UpdateManagerConstants.STRING_TIMESTAMP);

-

-	if (_propertyTimestamp == null) {

-		_propertyTimestamp = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_TIMESTAMP, new Date().toString() );

-		logEntry.addProperty( _propertyTimestamp );

-	}

-}

-/**

- * @param logEntry org.eclipse.update.internal.core.LogEntry

- */

-public void buildTreeFromLog(ILogEntry logEntry) {

-	

-	super.buildTreeFromLog( logEntry );

-	

-	// Timestamp

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

-	ILogEntryProperty property = _logEntry.getProperty(UpdateManagerConstants.STRING_TIMESTAMP);

-

-	if (property != null) {

-		_propertyTimestamp = property;

-	}

-

-	

-	ILogEntry[] entries = logEntry.getChildEntries();

-	

-	// Parcels

-	//--------

-	int iIndex = 0;

-	UMSessionManagerParcel parcel = null;

-	

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

-		if (entries[i] != null && entries[i].getName().equals(UpdateManagerConstants.STRING_PARCEL) == true) {

-			parcel = new UMSessionManagerParcel( entries[i] );			

-	        _alParcels.add( parcel );

-

-	        parcel.buildTreeFromLog( entries[i] );

-		}

-	}

-}

-/**

- *

- * @return org.eclipse.update.internal.core.UMTaskManagerParcel

- * @param actionType java.lang.String

- */

-public UMSessionManagerParcel createParcel() {

-

-	// Create a new log entry

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

-	ILogEntry logEntryChild = new LogEntry( _logEntry, UpdateManagerConstants.STRING_PARCEL );

-	_logEntry.addChildEntry( logEntryChild );

-

-	// Create the copy object

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

-	UMSessionManagerParcel parcel = new UMSessionManagerParcel( logEntryChild );

-	_alParcels.add( parcel );

-	

-	return parcel;

-}

-/**

- * Execute any pending or failed updates.

- */

-public boolean execute(IProgressMonitor progressMonitor) {

-

-	// Attempt all even if failure occurs

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

-	boolean bSuccess = true;

-

-	// Parcels may be sequential, do in forward order

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

-	for (int i = 0; i < _alParcels.size(); ++i) {

-

-		if (((UMSessionManagerParcel) _alParcels.get(i)).execute(progressMonitor) == false) {

-			bSuccess = false;

-		}

-	}

-

-	// Status

-	//-------

-	setStatus(bSuccess == true ? UpdateManagerConstants.STATUS_SUCCEEDED : UpdateManagerConstants.STATUS_FAILED);

-

-	incrementAttemptCount();

-

-	return bSuccess;

-}

-/**

- * Execute any pending or failed updates.

- */

-public boolean executeUndo(org.eclipse.core.runtime.IProgressMonitor progressMonitor) {

-

-	// Undo only failed attempts

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

-	if (getStatus().equals(UpdateManagerConstants.STATUS_FAILED) == false) {

-		return true;

-	}

-	

-	// Attempt all even if failure occurs

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

-	boolean bSuccess = true;

-

-	// Parcels may be sequential, undo in reverse order

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

-	for (int i = _alParcels.size() - 1; i >= 0; --i) {

-

-		if (((UMSessionManagerParcel) _alParcels.get(i)).executeUndo(progressMonitor) == false) {

-			bSuccess = false;

-		}

-	}

-

-	// Status

-	//-------

-	setStatus(bSuccess == true ? UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED : UpdateManagerConstants.STATUS_FAILED_UNDO_FAILED);

-

-	resetAttemptCount();

-	

-	return bSuccess;

-}

-/**

- * Returns all parcels

- * @return org.eclipse.update.internal.core.UMSessionManagerParcel[]

- */

-public UMSessionManagerParcel[] getParcels() {

-

-	UMSessionManagerParcel[] parcels = new UMSessionManagerParcel[_alParcels.size()];

-	return (UMSessionManagerParcel[])_alParcels.toArray( parcels );

-}

-/**

- * @return java.lang.String

- */

-public String getStatusString() {

-	

-	StringBuffer strb = new StringBuffer();

-

-	getStatusString( strb, 0 );

-	

-	return strb.toString();

-}

-/**

- * @param strb java.lang.StringBuffer

- * @param iIndentation int

- */

-public void getStatusString(java.lang.StringBuffer strb, int iIndentation) {

-

-	String strStatus = getStatus();

-

-	if (strStatus.equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true) {

-		strb.append(UpdateManagerStrings.getString("S_Installations_have_completed_successfully"));

-		strb.append("\n");

-		strb.append(UpdateManagerStrings.getString("S_You_must_restart_the_workbench_to_activate_any_changes"));

-	}

-

-	else {

-		strb.append(UpdateManagerStrings.getString("S_An_installation_error_or_cancellation_has_occurred"));

-

-		// Parcels may be sequential, do in forward order

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

-		for (int i = 0; i < _alParcels.size(); ++i) {

-

-			((UMSessionManagerParcel) _alParcels.get(i)).getStatusString(strb, 2);

-		}

-	}

-}

-/**

- * @return java.lang.String

- */

-public String getTimestamp() {

-	

-	return _propertyTimestamp.getValue();

-}

-/**

- * Returns whether this session is complete

- * @return boolean

- */

-public boolean isComplete() {

-

-	return _propertyStatus.getValue().equals(UpdateManagerConstants.STATUS_SUCCEEDED) ||

-		   _propertyStatus.getValue().equals(UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED);

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/URLHandler.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/URLHandler.java
deleted file mode 100644
index 50eed69..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/URLHandler.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

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

-import org.eclipse.webdav.http.client.*;

-import org.eclipse.webdav.client.WebDAVFactory;

-import org.eclipse.webdav.Context;

-import java.io.*;

-import java.net.*;

-

-public class URLHandler extends BaseURLHandler {

-

-	private static HttpClient http = null;

-	private static WebDAVFactory factory = null;

-	

-	private static final String HTTP = "http";

-	

-	static class Response extends BaseURLHandler.Response {

-		private org.eclipse.webdav.http.client.Response r = null;

-		private Response(org.eclipse.webdav.http.client.Response r) {

-			this.r = r;

-		}

-		public InputStream getInputStream() throws IOException {

-			return r.getInputStream();

-		}

-		public long getContentLength() {

-			return r.getContentLength();

-		}

-		public int getResponseCode() {

-			return r.getStatusCode();

-		}

-		public String getResponseMessage() {

-			return r.getStatusMessage();

-		}

-	}

-

-private URLHandler() {}

-public static BaseURLHandler.Response open(URL url) throws IOException {

-

-	if (url==null) return null;

-

-	if (!url.getProtocol().equals(HTTP)) {

-		URLConnection c = url.openConnection();

-		Context ctx = factory.newContext();

-		int i = 1;

-		String name = null;

-		while ((name = c.getHeaderFieldKey(i)) != null) {

-			ctx.put(name.toLowerCase(), c.getHeaderField(i));

-			i++;

-		}	

-		InputStream is = c.getInputStream();	

-		return new Response(new org.eclipse.webdav.http.client.Response(UNKNOWN_STATUS,UNKNOWN_MSG,ctx,is));

-	}

-	else {

-		if (http==null) throw new IllegalStateException(UpdateManagerStrings.getString("S_HTTP_client_not_set"));	

-		Request request = new Request("GET", url, null);

-		return new Response(http.invoke(request));

-	}	

-}

-protected BaseURLHandler.Response openURL(URL url) throws IOException {

-	return URLHandler.open(url);

-}

-public static void setHttpClient(HttpClient c) {

-

-	if (http==null) {

-		http = c;

-		factory = new WebDAVFactory();

-

-		// setup this handler as the handler for boot portion of update manager

-		BaseURLHandler.setURLHandler(new URLHandler());

-	}

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManager.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManager.java
deleted file mode 100644
index e456884..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManager.java
+++ /dev/null
@@ -1,640 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.File;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.TreeSet;

-

-import org.eclipse.core.internal.boot.LaunchInfo;

-import org.eclipse.core.internal.boot.LaunchInfo.VersionedIdentifier;

-import org.eclipse.core.internal.boot.update.IComponentDescriptor;

-import org.eclipse.core.internal.boot.update.IComponentEntryDescriptor;

-import org.eclipse.core.internal.boot.update.IFragmentEntryDescriptor;

-import org.eclipse.core.internal.boot.update.IInstallable;

-import org.eclipse.core.internal.boot.update.IPluginEntryDescriptor;

-import org.eclipse.core.internal.boot.update.IProductDescriptor;

-import org.eclipse.core.internal.boot.update.IUMRegistry;

-import org.eclipse.core.internal.boot.update.IURLNamePair;

-import org.eclipse.core.internal.boot.update.LogStoreException;

-import org.eclipse.core.internal.boot.update.UMEclipseTree;

-import org.eclipse.core.internal.boot.update.UMRegistryManager;

-import org.eclipse.core.internal.boot.update.UpdateManagerConstants;

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

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.update.internal.ui.JarVerificationService;

-

-/**

- * Update Manager updates a workstation in one of three modes:

- * <ol>

- * <li>local</li>

- * <li>remote</li>

- * <li>remote cached</li>

- * </ol>

- * Usage:

- * <ol>

- * <li>Create an instance of this class</li>

- * <li>Set persistent properties as required</li>

- * <ul>

- * <li>mode</li>

- * <li>update log URL</li>

- * <li>history log URL</li>

- * </ul>

- * <li>Call the initialize function</li>

- * <li>Call the update function</li>

- * </ol>

- * Persistent properties are loaded before any are changed, and saved after any

- * are changed.

- */

-

-public class UpdateManager {

-

-	// Package name for this class

-	// Used by UpdateManagerStrings to obtain its resource bundle properties file

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

-	public static final String _strPackageName = "org.eclipse.update.internal.core";

-	public static UpdateManager _updateManagerInstance = null;

-	

-	// Persistent properties

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

-	protected int    _iMode         = UpdateManagerConstants.MODE_LOCAL;

-	protected String _strUpdateLogURL  = null;

-	protected String _strHistoryLogURL = null;

-

-	// Instance state data

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

-	protected UMRegistryManager _registryManager = null;

-	protected UMSessionManager  _sessionManager  = null;

-	protected Shell             _shell           = null;

-	

-	protected JarVerificationService _jarVerifier = null;

-/**

- * Constructs an instance of this class, then initializes by loading its persistent properties

- */

-public UpdateManager() {

-}

-/**

- * Constructs an instance of this class, then initializes by loading its persistent properties

- */

-public UpdateManager( Shell shell ) {

-	_updateManagerInstance = this;

-	_shell = shell;

-}

-/**

- * Deletes all files in the staging area.

- */

-public void cleanup() {

-	String strStagingDirectory = UMEclipseTree.getFileInPlatformString(UMEclipseTree.getStagingArea());

-

-	File fileStagingDirectory = new File(strStagingDirectory);

-

-	if (fileStagingDirectory.exists() == true) {

-		File[] files = fileStagingDirectory.listFiles();

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

-			if (files[i].isDirectory() == true) {

-				cleanupDirectory(files[i]);

-			}

-			boolean bSuccessful = files[i].delete();

-			

-		}

-	}

-}

-/**

- */

-public static void cleanupDirectory(File fileDirectory) {

-

-	File[] files = fileDirectory.listFiles();

-	

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

-		if (files[i].isDirectory() == true) {

-			cleanupDirectory(files[i]);

-		}

-

-		boolean bSuccessful = files[i].delete();

-//		if (!bSuccessful)

-//			System.out.println("ooops!" + files[i]);

-	}

-}

-/**

- */

-public UMSessionManagerSession createSession(IInstallable[] descriptors, boolean bVerifyJars) throws UpdateManagerException {

-

-	// FOR NOW DO NOT DO JAR VERIFICATION

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

-	bVerifyJars = false;

-

-	// Create a new update session

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

-	UMSessionManagerSession session = _sessionManager.createUpdateSession();

-

-	// Create a definer that can define the operations required

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

-	ISessionDefiner sessionDefiner = new UMSessionDefinerReferenceUpdate();

-	

-	// Define a set of operations

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

-	sessionDefiner.defineOperations(session, descriptors, bVerifyJars);

-

-	// Save the update log

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

-	try {

-		_sessionManager.saveUpdateLog();

-	}

-	catch (LogStoreException ex) {

-		throw new UpdateManagerException(ex.getMessage());

-	}

-

-	return session;

-}

-/**

- * Updates the local machine by:

- * <ol>

- * <li>defining the operations</li>

- * <li>downloading any new objects</li>

- * <li>applying any downloaded updates</li>

- * <li>displaying a progress monitor</li>

- * </ol>

- */

-public UMSessionManagerSession executeSession( UMSessionManagerSession session, IProgressMonitor progressMonitor ) throws UpdateManagerException {

-

-	// Throw any exception when complete

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

-	UpdateManagerException umException = null;

-	

-	// Execute the session

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

-	_sessionManager.executeSession( session, progressMonitor );

-

-	// Move successful sessions from update log to history log

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

-	try {

-		_sessionManager.updateAndSaveLogs();

-	}

-	catch (LogStoreException ex) {

-		if (umException != null) {

-			umException = new UpdateManagerException("S_Unable_to_save_update_logs");

-		}

-	}

-

-	// Throw any exceptions found

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

-	if (umException != null) {

-		throw umException;

-	}

-

-	return session;

-}

-/**

- * Updates the local machine by:

- * <ol>

- * <li>defining the operations</li>

- * <li>downloading any new objects</li>

- * <li>applying any downloaded updates</li>

- * <li>displaying a progress monitor</li>

- * </ol>

- */

-public UMSessionManagerSession executeSessionUndo( UMSessionManagerSession session, IProgressMonitor progressMonitor ) throws UpdateManagerException {

-

-	// Throw any exception when complete

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

-	UpdateManagerException umException = null;

-	

-	// Execute the session

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

-	_sessionManager.executeSessionUndo( session, progressMonitor );

-

-	// Move successful sessions from update log to history log

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

-	try {

-		_sessionManager.updateAndSaveLogs();

-	}

-	catch (LogStoreException ex) {

-		if (umException != null) {

-			umException = new UpdateManagerException("S Unable to save update logs");

-		}

-	}

-

-	// Throw any exceptions found

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

-	if (umException != null) {

-		throw umException;

-	}

-

-	return session;

-}

-/**

- */

-public static UpdateManager getCurrentInstance() {

-	return _updateManagerInstance;

-}

-/**

- * Takes a string with an Id + '_' + Version, and returns the Id.

- */

-private String getIdFromInfoString(String strInfo) {

-

-	String strId = null;

-

-	int iIndex = strInfo.lastIndexOf('_');

-	

-	if (iIndex >= 0) {

-		strId = strInfo.substring(0, iIndex);

-	}

-

-	else {

-		strId = strInfo;

-	}

-

-	return strId;

-}

-// return the jar verifier

-

-public JarVerificationService getJarVerifier() {

-	if (_jarVerifier == null)	

-		_jarVerifier = new JarVerificationService( _shell );

-	return _jarVerifier;

-}

-/**

- * Returns a list of components that require updating by:

- *<ol>

- *<li>Loading all product/component manifests from .install/tree </li>

- *<li>Determining which components require updating by:</li>

- *<ol>

- *<li>Collecting update URLs from each component</li>

- *<li>Collecting update URLs from products that components are a part of</li>

- *</ol>

- *<li>Determining what updates are available by:</li>

- *<ol>

- *<li>Accessing the update URL</li>

- *<li>Determining if the component is a newer version of the existing one</li>

- *</ol>

- *<li>

- *</ol>

- */

-public IURLNamePair[] getLocalDiscoveryURLs() {

-

-	IURLNamePair[] urlNPs = null;

-	

-	// Obtain the local registry

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

-	IUMRegistry registry = _registryManager.getLocalRegistry();

-

-	// Create a list of all URLs

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

-	TreeSet setURLs = new TreeSet( new UpdateManagerURLComparator() );

-

-	// Obtain a list of all installed components

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

-	IComponentDescriptor[] componentDescriptors = registry.getComponentDescriptors();

-

-	// Obtain a list of discovery URLs

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

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

-		urlNPs = componentDescriptors[i].getDiscoveryURLs();

-

-		for (int j = 0; j < urlNPs.length; ++j) {

-			setURLs.add(urlNPs[j]);

-		}

-	}

-

-	// Obtain a list of all installed products

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

-	IProductDescriptor[] productDescriptors = registry.getProductDescriptors();

-

-	// Obtain a list of discovery URLs

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

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

-		urlNPs = productDescriptors[i].getDiscoveryURLs();

-

-		for (int j = 0; j < urlNPs.length; ++j) {

-			setURLs.add(urlNPs[j]);

-		}

-	}

-

-	urlNPs = new IURLNamePair[ setURLs.size() ];

-	System.arraycopy(setURLs.toArray(), 0, urlNPs, 0, setURLs.size() );

-	

-	return urlNPs;

-}

-/**

- * Returns a list of components that require updating by:

- *<ol>

- *<li>Loading all product/component manifests from .install/tree </li>

- *<li>Determining which components require updating by:</li>

- *<ol>

- *<li>Collecting update URLs from each component</li>

- *<li>Collecting update URLs from products that components are a part of</li>

- *</ol>

- *<li>Determining what updates are available by:</li>

- *<ol>

- *<li>Accessing the update URL</li>

- *<li>Determining if the component is a newer version of the existing one</li>

- *</ol>

- *<li>

- *</ol>

- */

-public IURLNamePair[] getLocalUpdateURLs() {

-

-	IURLNamePair[] urlNPs = null;

-	

-	// Obtain the local registry

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

-	IUMRegistry registry = _registryManager.getLocalRegistry();

-

-	// Create a list of all URLs

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

-	TreeSet setURLs = new TreeSet( new UpdateManagerURLComparator() );

-

-	// Obtain a list of all installed components

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

-	IComponentDescriptor[] componentDescriptors = registry.getComponentDescriptors();

-

-	// Obtain a list of discovery URLs

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

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

-		urlNPs = componentDescriptors[i].getUpdateURLs();

-

-		for (int j = 0; j < urlNPs.length; ++j) {

-			setURLs.add(urlNPs[j]);

-		}

-	}

-

-	// Obtain a list of all installed products

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

-	IProductDescriptor[] productDescriptors = registry.getProductDescriptors();

-

-	// Obtain a list of discovery URLs

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

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

-		urlNPs = productDescriptors[i].getUpdateURLs();

-

-		for (int j = 0; j < urlNPs.length; ++j) {

-			setURLs.add(urlNPs[j]);

-		}

-	}

-

-	urlNPs = new IURLNamePair[ setURLs.size() ];

-	System.arraycopy(setURLs.toArray(), 0, urlNPs, 0, setURLs.size() );

-	

-	return urlNPs;

-}

-// return the local (current) registry

-

-public IUMRegistry getRegistryAt(URL url) {

-	

-	return _registryManager.getRegistryAt( url );

-}

-/**

- */

-public UMRegistryManager getRegistryManager() {

-	return _registryManager;

-}

-/**

- * Initializes the update and history log URLs,creates a session manager,

- * and creates a registry manager.

- */

-public void initialize() throws UpdateManagerException{

-

-	// Obtain install URL

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

-	URL urlBase = UMEclipseTree.getBaseInstallURL();

-	String strUrlBase = urlBase.toExternalForm();

-	String strUrlInstall = strUrlBase + "install/";

-

-	String strUrlUpdateLog = strUrlInstall + "update.log";

-	String strUrlHistoryLog = strUrlInstall + "history.log";

-

-	setUpdateLogURL(strUrlUpdateLog);

-	setHistoryLogURL(strUrlHistoryLog);

-

-	// Create a session manager

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

-	try {

-		_sessionManager = new UMSessionManager(new URL(_strUpdateLogURL), new URL(_strHistoryLogURL), true);

-	}

-	catch (MalformedURLException ex) {

-		throw new UpdateManagerException("Invalid log URL specification");

-	}

-	catch (LogStoreException ex) {

-		throw new UpdateManagerException(ex.getMessage());

-	}

-

-	// Registry Manager

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

-	_registryManager = new UMRegistryManager(urlBase);

-}

-/**

- * 

- */

-public void removeComponent(IComponentDescriptor componentDescriptor) {

-	removeComponent(componentDescriptor, null);

-}

-/**

- * 

- */

-public void removeComponent(IComponentDescriptor componentDescriptor, IProductDescriptor productDescriptor) {

-

-	if( componentDescriptor == null )

-		return;

-		

-	LaunchInfo launchInfo = LaunchInfo.getCurrent();

-	LaunchInfo.VersionedIdentifier vid = null;

-

-	// Plugins

-	//--------

-	IPluginEntryDescriptor[] pluginEntries = componentDescriptor.getPluginEntries();

-

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

-		vid = new LaunchInfo.VersionedIdentifier(pluginEntries[i].getUniqueIdentifier(), pluginEntries[i].getVersionStr());

-		launchInfo.removePlugin(vid);

-	}

-

-	// Fragments

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

-	IFragmentEntryDescriptor[] fragmentEntries = componentDescriptor.getFragmentEntries();

-

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

-		vid = new LaunchInfo.VersionedIdentifier(fragmentEntries[i].getUniqueIdentifier(), pluginEntries[i].getVersionStr());

-		launchInfo.removeFragment(vid);

-	}

-

-	// Component

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

-	vid = new LaunchInfo.VersionedIdentifier(componentDescriptor.getUniqueIdentifier(), componentDescriptor.getVersionStr());

-	launchInfo.removeComponent(vid);

-	_registryManager.removeComponentDescriptorFromLocal(componentDescriptor, productDescriptor);

-	

-	return;

-}

-/**

- * 

- */

-public void removeProduct(IProductDescriptor productDescriptor) {

-

-	if( productDescriptor == null )

-		return;

-		

-	// Components

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

-	IComponentEntryDescriptor[] componentEntries = productDescriptor.getComponentEntries();

-

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

-		IComponentDescriptor componentDescriptor = componentEntries[i].getComponentDescriptor();

-		if (componentDescriptor.isRemovable(productDescriptor))

-			removeComponent(componentDescriptor, productDescriptor);

-	}

-

-	// Product

-	//--------

-	LaunchInfo.VersionedIdentifier vid = new LaunchInfo.VersionedIdentifier(productDescriptor.getUniqueIdentifier(), productDescriptor.getVersionStr());

-	LaunchInfo.getCurrent().removeConfiguration(vid);

-	_registryManager.removeProductDescriptorFromLocal(productDescriptor);

-}

-/**

- * Sets the URL for the history log.  This property is persistent.

- */

-public void setHistoryLogURL(String strURL) throws UpdateManagerException {

-

-	// Check for valid URL

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

-	try {

-		new URL(strURL);

-	}

-	catch (MalformedURLException ex) {

-		throw new UpdateManagerException("Invalid log URL specification");

-	}

-

-	// Change the property

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

-	_strHistoryLogURL = strURL;

-}

-/**

- * Sets the URL for the update log.  This property is persistent.

- */

-public void setUpdateLogURL(String strURL) throws UpdateManagerException {

-	

-	// Check for valid URL

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

-	try {

-		new URL(strURL);

-	}

-	catch (MalformedURLException ex) {

-		throw new UpdateManagerException("Invalid log URL specification");

-	}

-

-	// Change the property

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

-	_strUpdateLogURL = strURL;

-}

-/**

- * Updates the boot loader's launch information with what is currently installed.

- */

-public void updateLaunchInfoAndRegistry(UMSessionManagerSession session) {

-

-	// Update launch info even if this session had a failure

-	// One or more parcels could have succeeded

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

-	if (session != null) {

-		

-		LaunchInfo launchInfo = LaunchInfo.getCurrent();

-

-		// Obtain product/component information

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

-		UMSessionManagerParcel[] parcels = session.getParcels();

-

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

-			updateLaunchInfoAndRegistryParcel( parcels[i], launchInfo );

-		}

-	}

-}

-/**

- * Recursively updates the boot loader's information for this parcel and sub-parcels.

- */

-protected void updateLaunchInfoAndRegistryParcel(UMSessionManagerParcel parcel, LaunchInfo launchInfo) {

-

-	// Update the profile only if the install was successful

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

-	if (parcel != null && parcel.getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true) {

-

-		Object objData = parcel.getData();

-

-		// Product

-		//--------

-		if (objData instanceof IProductDescriptor) {

-			updateLaunchInfoProduct((IProductDescriptor) objData, launchInfo);

-			_registryManager.addProductDescriptorToLocal((IProductDescriptor) objData);

-		}

-

-		// Component

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

-		else if (objData instanceof IComponentDescriptor) {

-			updateLaunchInfoComponent((IComponentDescriptor) objData, launchInfo);

-			_registryManager.addComponentDescriptorToLocal((IComponentDescriptor) objData, true);

-		}

-			

-		// Component Entry

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

-		else if (objData instanceof IComponentEntryDescriptor) {

-			IComponentDescriptor comp = ((IComponentEntryDescriptor)objData).getComponentDescriptor();

-			updateLaunchInfoComponent(comp, launchInfo);

-			_registryManager.addComponentDescriptorToLocal(comp, false);

-		}

-

-		// Do child parcels

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

-		UMSessionManagerParcel[] parcelChildren = parcel.getParcels();

-

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

-			updateLaunchInfoAndRegistryParcel(parcelChildren[i], launchInfo);

-		}

-	}

-}

-/**

- * Updates the boot loader's launch information with what is currently installed.

- */

-public void updateLaunchInfoComponent(IComponentDescriptor descriptor, LaunchInfo launchInfo) {

-

-	// Component

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

-	launchInfo.setComponent(new LaunchInfo.VersionedIdentifier(descriptor.getUniqueIdentifier(), descriptor.getVersionStr()));

-

-	// Plugins

-	//--------

-	IPluginEntryDescriptor[] pluginDescriptors = descriptor.getPluginEntries();

-

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

-		updateLaunchInfoPlugin(pluginDescriptors[i], launchInfo);

-	}

-

-	// Fragments

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

-	IFragmentEntryDescriptor[] fragmentDescriptors = descriptor.getFragmentEntries();

-

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

-		updateLaunchInfoFragment(fragmentDescriptors[i], launchInfo);

-	}

-}

-/**

- * Updates the boot loader's launch information with what is currently installed.

- */

-public void updateLaunchInfoFragment(IFragmentEntryDescriptor descriptor, LaunchInfo launchInfo) {

-

-	launchInfo.setFragment(new LaunchInfo.VersionedIdentifier(descriptor.getUniqueIdentifier(),descriptor.getVersionStr()));

-}

-/**

- * Updates the boot loader's launch information with what is currently installed.

- */

-public void updateLaunchInfoPlugin(IPluginEntryDescriptor descriptor, LaunchInfo launchInfo) {

-

-	launchInfo.setPlugin(new LaunchInfo.VersionedIdentifier(descriptor.getUniqueIdentifier(),descriptor.getVersionStr()));

-}

-/**

- * Updates the boot loader's launch information with what is currently installed.

- */

-public void updateLaunchInfoProduct(IProductDescriptor descriptor, LaunchInfo launchInfo) {

-

-	launchInfo.setConfiguration(new LaunchInfo.VersionedIdentifier(descriptor.getUniqueIdentifier(),descriptor.getVersionStr()), descriptor.getApplication());

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerException.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerException.java
deleted file mode 100644
index e25de36..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerException.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

-/**

- * 

- */

-public class UpdateManagerException  extends Exception {

-/**

- * UpdateManagerException constructor comment.

- */

-public UpdateManagerException( String strMessage ) {

-	super( strMessage );

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java
deleted file mode 100644
index e05d25d..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

-import java.net.MalformedURLException;

-import java.net.URL;

-/**

- */

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

-import org.eclipse.update.internal.ui.*;

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.webdav.http.client.HttpClient;

-

-public class UpdateManagerPlugin extends Plugin {

-	private static UpdateManagerPlugin _pluginInstance = null;

-	private	HttpClient client =null;

-/**

- * UpdateManagerPlugin constructor comment.

- */

-public UpdateManagerPlugin( IPluginDescriptor pluginDescriptor ) {

-	super( pluginDescriptor );

-

-	_pluginInstance = this;

-}

-/**

- * Returns the image descriptor of an image file relative to this plugin

- * @return org.eclipse.jface.resource.ImageDescriptor

- * @param strImage java.lang.String

- */

-public static ImageDescriptor getImageDescriptor(String strImage) {

-

-	UpdateManagerPlugin plugin = getPluginInstance();

-

-	if (plugin != null) {

-

-		// Obtain my plugin descriptor

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

-		IPluginDescriptor pluginDescriptor = plugin.getDescriptor();

-

-		// Determine where I am installed

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

-		URL path = pluginDescriptor.getInstallURL();

-

-		// Add the relative file location to the install location

-		// Create the image descriptor

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

-		URL urlFullPathString = null;

-

-		try {

-			urlFullPathString = new URL(path, strImage);

-			return ImageDescriptor.createFromURL(urlFullPathString);

-		}

-

-		catch (MalformedURLException e) {

-		}

-	}

-	return null;

-}

-/**

- * @return org.eclipse.update.internal.core.UpdateManagerPlugin

- */

-public static UpdateManagerPlugin getPluginInstance() {

-	return _pluginInstance;

-}

-/**

- * Shuts down this plug-in and discards all plug-in state.

- * <p>

- * This method should be re-implemented in subclasses that need to do something

- * when the plug-in is shut down.  Implementors should call the inherited method

- * to ensure that any system requirements can be met.

- * </p>

- * <p>

- * Plug-in shutdown code should be robust. In particular, this method

- * should always make an effort to shut down the plug-in. Furthermore,

- * the code should not assume that the plug-in was started successfully,

- * as this method will be invoked in the event of a failure during startup.

- * </p>

- * <p>

- * Note 1: If a plug-in has been started, this method will be automatically

- * invoked by the platform when the platform is shut down.

- * </p>

- * <p>

- * Note 2: This method is intended to perform simple termination

- * of the plug-in environment. The platform may terminate invocations

- * that do not complete in a timely fashion.

- * </p>

- * <b>Cliens must never explicitly call this method.</b>

- *

- * @exception CoreException if this method fails to shut down

- *   this plug-in 

- */

-public void shutdown() throws CoreException {

-	if(client!=null) client.close(); 

-}

-/**

- * Starts up this plug-in.

- * <p>

- * This method should be overridden in subclasses that need to do something

- * when this plug-in is started.  Implementors should call the inherited method

- * to ensure that any system requirements can be met.

- * </p>

- * <p>

- * If this method throws an exception, it is taken as an indication that

- * plug-in initialization has failed; as a result, the plug-in will not

- * be activated; moreover, the plug-in will be marked as disabled and 

- * ineligible for activation for the duration.

- * </p>

- * <p>

- * Plug-in startup code should be robust. In the event of a startup failure,

- * the plug-in's <code>shutdown</code> method will be invoked automatically,

- * in an attempt to close open files, etc.

- * </p>

- * <p>

- * Note 1: This method is automatically invoked by the platform 

- * the first time any code in the plug-in is executed.

- * </p>

- * <p>

- * Note 2: This method is intended to perform simple initialization 

- * of the plug-in environment. The platform may terminate initializers 

- * that do not complete in a timely fashion.

- * </p>

- * <b>Cliens must never explicitly call this method.</b>

- *

- * @exception CoreException if this plug-in did not start up properly

- */

-public void startup() throws CoreException {

-	// Setup HTTP client

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

-	client = new HttpClient();

-	client.setAuthenticator(new AuthorizationDatabase());

-	URLHandler.setHttpClient(client);

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerStrings.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerStrings.java
deleted file mode 100644
index 21b7ecd..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerStrings.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

-/**

- * This class loads translatable strings from a resource bundle properties file.

- */

-import java.util.ResourceBundle;

-import java.util.MissingResourceException;

-

-public class UpdateManagerStrings

-{

-	private static ResourceBundle _resourceBundle = null;

-/**

- * Obtains a NL translated string from a resource bundle

- * @param strKey java.lang.String

- */

-public static String getString( String strKey ) 

-{

-	String strTranslated = strKey;

-

-	// Obtain the set of translated strings

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

-	if( _resourceBundle == null )

-	{

-		try

-		{

-			_resourceBundle = ResourceBundle.getBundle( UpdateManager._strPackageName + ".updatemanagerstrings" );

-		}

-		catch( MissingResourceException ex )

-		{

-			_resourceBundle = null;

-		}

-	}

-

-	// Obtain the translated string

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

-	if( _resourceBundle != null )

-	{

-		try

-		{

-			strTranslated = _resourceBundle.getString( strKey );

-		}

-		catch( MissingResourceException ex )

-		{

-			strTranslated = strKey;

-		}

-	}

-

-	return strTranslated;

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerURLComparator.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerURLComparator.java
deleted file mode 100644
index ede4744..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerURLComparator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

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

- * All Rights Reserved.

- */

-

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

-import java.net.*;

-/**

- * 

- */

-import java.util.Comparator;

-public class UpdateManagerURLComparator implements Comparator{

-/**

- * UpdateManagerTreeItemComparator constructor comment.

- */

-public UpdateManagerURLComparator() {

-	super();

-}

-/**

- * Compares two strings independent of case.

- * 

- * @return a negative integer, zero, or a positive integer as the

- *         first argument is less than, equal to, or greater than the

- *         second. 

- * @throws ClassCastException if the arguments' types prevent them from

- *         being compared by this Comparator.

- */

-public int compare(java.lang.Object o1, java.lang.Object o2) {

-

-	if (o1 instanceof URLNamePair && o2 instanceof URLNamePair) {

-		return ((URLNamePair) o1).getURL().toExternalForm().toLowerCase().compareTo(((URLNamePair) o2).getURL().toExternalForm().toLowerCase());

-	}

-

-	return 0;

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/updatemanagerstrings.properties b/update/org.eclipse.update/src/org/eclipse/update/internal/core/updatemanagerstrings.properties
deleted file mode 100644
index 5cec005..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/updatemanagerstrings.properties
+++ /dev/null
@@ -1,112 +0,0 @@
-S_Add                                                     = Add

-S_Additional_Locations                                    = Additional Locations

-S_An_installation_error_or_cancellation_has_occurred      = An installation error or cancellation has occurred

-S_At_the_following_domain                                 = At the following domain

-S_Available                                               = Available

-S_Cancel_component_installation                           = Cancel component installation

-S_Component                                               = Component

-S_Component_identifier                                    = Component identifier

-S_Component_name                                          = Component name

-S_Configuration_Change                                    = Configuration Change

-S_Copy                                                    = Copy

-S_Current_installation                                    = Current installation

-S_Description                                             = Description

-S_Encountered_jar_entry_security_exception                = Encountered jar entry security exception

-S_Enter_a_user_name_and_password_for                      = Enter a user name and password for

-S_Error_closing_output_stream                             = Error closing output stream

-S_Error_in_registry                                       = Error in registry

-S_Error_occurred_during_installation_completion           = Error occurred during installation completion

-S_Error_occurred_during_installation_setup                = Error occurred during installation setup

-S_Error_occurred_during_verification                      = Error occurred during verification

-S_Error_reading_from_input_stream                         = Error reading from input stream

-S_Error_writing_to_output_stream                          = Error writing to output stream

-S_Examining                                               = Examining

-S_File_is_not_a_valid_JAR_file                            = File is not a valid JAR file

-S_File_name                                               = File name

-S_HTTP_client_not_set                                     = HTTP client not set

-S_Identifier                                              = Identifier

-S_Information                                             = Information

-S_Install                                                 = Install

-S_Install_component                                       = Install component

-S_Install_Components                                      = Install Components

-S_Installation                                            = Installation

-S_Installation_cancelled_by_user                          = Installation cancelled by user

-S_Installation_completed                                  = Installation completed

-S_Installations_have_completed_successfully               = Installations have completed successfully

-S_Installed                                               = Installed

-S_Installed_Components                                    = Installed Components

-S_Installing_this_component_may_corrupt_your_installation = Installing this component may corrupt your installation

-S_Location                                                = Location

-S_New_Component_Updates                                   = New Component Updates

-S_New_Components                                          = New Components

-S_No_installable_items_were_found                         = No installable items were found

-S_not_available                                           = not available

-S_not_compatible                                          = not compatible

-S_not_newer                                               = not newer

-S_not_updatable                                           = not updatable

-S_Number_of_installation_histories_to_keep                = Number of installation histories to keep

-S_Obtaining_information                                   = Obtaining information

-S_OK                                                      = OK

-S_optional                                                = optional

-S_Password                                                = Password

-S_Password_Required                                       = Password Required

-S_Predefined_Locations                                    = Predefined Locations

-S_Provider                                                = Provider

-S_Reading                                                 = Reading

-S_Remove                                                  = Remove

-S_Remove_selected_components                              = Remove selected components

-S_Revert                                                  = Revert

-S_Revert_to_a_Previous_Installation                       = Revert to a Previous Installation

-S_Revert_to_another_installation                          = Revert to another installation

-S_Search_for_more_recent_versions_to_install              = Search for more recent versions to install

-S_Search_for_new_components                               = Search for new components

-S_Search_for_updates_for_all_components                   = Search for updates for all components

-S_Search_for_updates_for_selected_components              = Search for updates for selected components

-S_Select_a_previous_installation_to_revert_to             = Select a previous installation to revert to

-S_Select_any_optional_components_to_install               = Select any optional components to install

-S_Select_available_versions_to_install                    = Select available versions to install

-S_Select_components_to_install                            = Select components to install

-S_Select_locations_to_update_from                         = Select locations to update from

-S_Show_only_most_recent_versions                          = Show only most recent versions

-S_Software_Updates                                        = Software Updates

-S_Source_location                                         = Source location

-S_Source_URL_is_malformed                                 = Source URL is malformed

-S_Specify_search_locations_for_new_components             = Specify search locations for new components

-S_Status                                                  = Status

-S_Target_URL_is_malformed                                 = Target URL is malformed

-S_The_certificates_used_to_authenticate_this_component_are_not_recognized = The certificates used to authenticate this component are not recognized

-S_The_content_of_this_component_has_been_corrupted        = The content of this component has been corrupted

-S_The_following_installation_will_become_active_when_the_workbench_is_restarted = The following installation will become active when the workbench is restarted

-S_The_following_items_will_be_installed                   = The following items will be installed

-S_The_following_items_will_be_updated                     = The following items will be updated

-S_The_installation_process_will_be_aborted                = The installation process will be aborted

-S_The_provider_of_this_component_cannot_be_verified       = The provider of this component cannot be verified

-S_This_component_has_not_been_digitally_signed            = This component has not been digitally signed

-S_This_component_will_not_be_installed                    = This component will not be installed

-S_Update                                                  = Update

-S_Update_All                                              = Update All

-S_Updates_completed                                       = Updates completed

-S_Unable_to_access_the_following_locations                = Unable to access the following locations

-S_Unable_to_connect                                       = Unable to connect

-S_Unable_to_create_file                                   = Unable to create file

-S_Unable_to_create_jar_entry_URL                          = Unable to create jar entry URL

-S_Unable_to_create_output_file_for_Jar_entry              = Unable to create output file for Jar entry

-S_Unable_to_delete_file                                   = Unable to delete file

-S_Unable_to_find_install_manifest_file_in_Jar             = Unable to find install manifest file in Jar

-S_Unable_to_find_defined_contents_in_Jar                  = Unable to find defined contents in Jar

-S_Unable_to_obtain_source_input_stream                    = Unable to obtain source input stream

-S_Unable_to_obtain_target_output_stream                   = Unable to obtain target output stream

-S_Unable_to_open_error_logs                               = Unable to open error_logs

-S_Unable_to_open_jar_entry_input_stream                   = Unable to open jar entry input stream

-S_Unable_to_open_Jar_file                                 = Unable to open Jar file

-S_Undefined_contents_found_in_Jar                         = Undefined contents found in Jar

-S_Undo                                                    = Undo

-S_User_name                                               = User name

-S_Verification                                            = Verification

-S_Verification_cancelled                                  = Verification cancelled

-S_Verify                                                  = Verify

-S_Version                                                 = Version

-S_You_are_about_to_install_a_signed_component             = You are about to install a signed component

-S_You_are_about_to_install_an_unsigned_component          = You are about to install an unsigned component

-S_You_may_choose_to_install_the_component_or_cancel_its_installation = You may choose to install the component or cancel its installation

-S_You_must_restart_the_workbench_to_activate_any_changes  = You must restart the workbench to activate any changes

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/AuthorizationDatabase.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/AuthorizationDatabase.java
deleted file mode 100644
index 8d2af15..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/AuthorizationDatabase.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

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

- * All Rights Reserved.

- */

-

-import java.net.URL;

-import java.util.Hashtable;

-import java.util.Map;

-

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

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

-import org.eclipse.swt.widgets.Display;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.update.internal.core.UpdateManagerPlugin;

-import org.eclipse.webdav.http.client.IAuthenticator;

-

-/**

- * A transient database that remembers information, such as usernames and

- * passwords.  The information is stored in memory only and is discarted

- * when the Plaform shuts down.

- */

-public class AuthorizationDatabase implements IAuthenticator {

-

-	/**

-	 * The Map containing the userid and password

-	 */

-	private Map result = new Hashtable();

-

-	/**

-	 * 

-	 */

-	public void addAuthenticationInfo(URL serverUrl, String realm, String scheme, Map info) {

-		try {

-			Platform.addAuthorizationInfo(serverUrl, realm, scheme, info);

-		}

-		catch (CoreException e) {

-			UpdateManagerPlugin.getPluginInstance().getLog().log(e.getStatus());

-		}

-	}

-

-	/**

-	 * 

-	 */

-	public void addProtectionSpace(URL resourceUrl, String realm) {

-		try {

-			Platform.addProtectionSpace(resourceUrl, realm);

-		}

-		catch (CoreException e) {

-			UpdateManagerPlugin.getPluginInstance().getLog().log(e.getStatus());

-		}

-

-	}

-	/**

-	 *

-	 */

-	public Map getAuthenticationInfo(URL serverUrl, String realm, String scheme) {

-

-		return Platform.getAuthorizationInfo(serverUrl, realm, scheme);

-	}

-	/**

-	 * 

-	 */

-	public String getProtectionSpace(URL resourceUrl) {

-		return Platform.getProtectionSpace(resourceUrl);

-	}

-	/**

-	 * 

-	 */

-	public Map requestAuthenticationInfo(final URL resourceUrl, final String realm, final String scheme) {

-

-		result = new Hashtable();

-		if (scheme.equalsIgnoreCase("Basic")) {

-

-			Display disp = Display.getCurrent();

-			if (disp != null) {

-				promptForPassword(resourceUrl, realm, result);

-			}

-			else {

-				Display.getDefault().syncExec(new Runnable() {

-					public void run() {

-						promptForPassword(resourceUrl, realm, result);

-					}

-				});

-			};

-		}

-		return result;

-	}

-

-	/**

-	 *

-	 */

-	private void promptForPassword(URL resourceUrl, String realm, Map info) {

-

-		Shell shell = new Shell();

-		UserValidationDialog ui = new UserValidationDialog(shell, resourceUrl, realm, "");

-		ui.setUsernameMutable(true);

-		ui.setBlockOnOpen(true);

-		ui.open();

-

-		if (ui.getReturnCode() != ui.CANCEL) {

-			info.put("username", ui.getUserid());

-			info.put("password", ui.getPassword());

-		}

-		shell.dispose();

-

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Installation.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Installation.java
deleted file mode 100644
index 056f820..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Installation.java
+++ /dev/null
@@ -1,221 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

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

- * All Rights Reserved.

- */

-

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.Date;

-import org.eclipse.core.internal.boot.LaunchInfo;

-import org.eclipse.core.internal.boot.LaunchInfo.History;

-/**

- */

-public class Installation {

-	private static final String STRING_ID = "-id";

-	private static final String STRING_LIST = "-list";

-	private static final String STRING_LOCATION = "-location";

-	private static final String STRING_SET = "-set";

-

-	private boolean _bList = false;

-	private boolean _bSet = false;

-	private String _strLocation = null;

-	private String _strId = null;

-	private int _iId = -1;

-	private LaunchInfo _launchInfo = null;

-	/**

-	 * Installation constructor comment.

-	 */

-	public Installation() {

-		super();

-	}

-	/**

-	 * 

-	 */

-	private String checkCommandLineOptions() {

-

-		// Command

-		//--------

-		if (_bList == true) {

-			if (_bSet == true) {

-				return "Invalid option syntax";

-			}

-		}

-

-		else if (_bSet == true) {

-			if (_bList == true) {

-				return "Invalid option syntax";

-			}

-		}

-

-		else {

-			return "Command missing";

-		}

-

-		// Location

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

-		if (_strLocation == null || _strLocation.length() == 0) {

-			return "Location missing";

-		}

-

-		URL urlLocation = null;

-

-		try {

-			urlLocation = new URL(_strLocation);

-		}

-		catch (MalformedURLException ex) {

-			return "Invalid location syntax";

-		}

-

-		// Set the location of the installation directory

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

-		//	LaunchInfo.startup(urlLocation);

-		_launchInfo = LaunchInfo.getCurrent();

-

-		// Set

-		//----

-		if (_bSet == true) {

-			if (_strId == null || _strId.length() == 0) {

-				return "Installation identifier number missing";

-			}

-

-			try {

-				_iId = new Integer(_strId).intValue();

-			}

-			catch (NumberFormatException ex) {

-				return "Invalid identifier syntax";

-			}

-		}

-

-		return null;

-	}

-	/**

-	 */

-	public String doList() {

-

-		LaunchInfo launchInfoFormer = null;

-

-		LaunchInfo.History[] histories = _launchInfo.getLaunchInfoHistory();

-

-		if (histories.length == 0)

-			return "No histories found";

-

-		if (histories.length == 1 && histories[0].getLaunchInfoDate() == null)

-			return "No histories found";

-

-		// Same order as doSet()

-		// Most recent to oldest order

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

-		int iIndex = 1;

-

-		for (int i = histories.length - 1; i >= 0; --i) {

-

-			Date date = histories[i].getLaunchInfoDate();

-

-			// Older profile

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

-			if (date != null) {

-				System.out.println(Integer.toString(iIndex++) + " " + histories[i].getLaunchInfoDate().toString());

-			}

-		}

-

-		return null;

-	}

-	/**

-	 * 

-	 */

-	public String doSet() {

-

-		LaunchInfo.History[] histories = _launchInfo.getLaunchInfoHistory();

-

-		if (_iId < histories.length) {

-

-			int iIndex = 1;

-

-			// Same algorithm as doList()

-			// Most recent to oldest order

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

-			for (int i = histories.length - 1; i >= 0; --i) {

-

-				Date date = histories[i].getLaunchInfoDate();

-

-				// Older profile

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

-				if (date != null) {

-					if (iIndex == _iId) {

-						_launchInfo.revertTo(histories[i]);

-						System.out.println(date.toString());

-						return null;

-					}

-					else {

-						iIndex++;

-					}

-				}

-			}

-		}

-

-		return "Identifier not found";

-	}

-	/**

-	 */

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

-

-		Installation installation = new Installation();

-

-		installation.parseCommandLineOptions(args);

-

-		String strError = installation.checkCommandLineOptions();

-

-		if (strError == null) {

-			if (installation._bList == true)

-				strError = installation.doList();

-

-			else if (installation._bSet == true)

-				strError = installation.doSet();

-		}

-

-		if (strError != null) {

-			System.out.println(strError);

-			printUsage();

-			System.exit(-1);

-		}

-	}

-	/**

-	 */

-	public void parseCommandLineOptions(String[] straArgs) {

-

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

-

-			// Command: List

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

-			if (straArgs[i].equalsIgnoreCase(STRING_LIST) == true) {

-				_bList = true;

-			}

-

-			// Command: Set

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

-			else if (straArgs[i].equalsIgnoreCase(STRING_SET) == true) {

-				_bSet = true;

-			}

-

-			// Location to install from

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

-			else if (straArgs[i].equalsIgnoreCase(STRING_LOCATION) == true && i < straArgs.length - 1) {

-				_strLocation = straArgs[++i];

-			}

-

-			// Identifier

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

-			else if (straArgs[i].equalsIgnoreCase(STRING_ID) == true && i < straArgs.length - 1) {

-				_strId = straArgs[++i];

-			}

-		}

-	}

-	/**

-	 */

-	public static void printUsage() {

-		System.out.println("");

-		System.out.println("-list -location urlPath");

-		System.out.println("-set  -location urlPath -id number");

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationDialog.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationDialog.java
deleted file mode 100644
index 6d5389d..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationDialog.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationResult.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationResult.java
deleted file mode 100644
index 1711181..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationResult.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

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

- * All Rights Reserved.

- */

-

-/**

- * Result of the service

- */

-public class JarVerificationResult {

-

-	public static final int CANCEL_INSTALL = 0;

-	public static final int OK_TO_INSTALL = 1;

-

-	private int resultCode;

-	private Exception resultException;

-	/**

-	 */

-	public int getResultCode() {

-		return resultCode;

-	}

-	/**

-	 */

-	public Exception getResultException() {

-		return resultException;

-	}

-	/**

-	 */

-	public void setResultCode(int newResultCode) {

-		resultCode = newResultCode;

-	}

-	/**

-	 * called by JarVerificationService only

-	 */

-	void setResultException(Exception newResultException) {

-		resultException = newResultException;

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationService.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationService.java
deleted file mode 100644
index 69b4339..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationService.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerifier.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerifier.java
deleted file mode 100644
index dda11d7..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerifier.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/KeyStores.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/KeyStores.java
deleted file mode 100644
index 7284e0a..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/KeyStores.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Main.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Main.java
deleted file mode 100644
index e0f0367..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Main.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

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

- * All Rights Reserved.

- */

-

-import java.net.*;

-import java.lang.reflect.*;

-import java.io.PrintWriter;

-import java.util.StringTokenizer;

-import java.util.Vector;

-/**

- * Startup class for Eclipse. Creates a class loader using

- * supplied URL of platform installation, loads and calls

- * the Eclipse Boot Loader

- */

-public class Main {

-	protected boolean debug = false;

-	protected boolean usage = false;

-	protected String bootLocation = null;

-	protected String application;

-	protected URL pluginPathLocation;

-	protected String location;

-

-	// constants

-	private static final String APPLICATION = "-application";

-	private static final String BOOT = "-boot";

-	private static final String DEBUG = "-debug";

-	private static final String USAGE = "-?";

-	private static final String BOOTLOADER = "org.eclipse.core.boot.BootLoader";

-

-	// The project containing the boot loader code.  This is used to construct

-	// the correct class path for running in VAJ and VAME.

-	private static final String PROJECT_NAME = "Eclipse Core Boot";

-

-	private static boolean inVAJ;

-	static {

-		try {

-			Class.forName("com.ibm.uvm.lang.ProjectClassLoader");

-			inVAJ = true;

-		} catch (Exception e) {

-			inVAJ = false;

-		}

-	}

-	private static boolean inVAME;

-	static {

-		try {

-			Class.forName("com.ibm.eclipse.VAME");

-			inVAME = true;

-		} catch (Exception e) {

-			inVAME = false;

-		}

-	}

-

-protected void basicRun(String[] args) throws Exception {

-	Class clazz = getBootLoader(bootLocation);

-	Method method = clazz.getDeclaredMethod("run", new Class[] { String.class, URL.class, String.class, String[].class });

-	try {

-		method.invoke(clazz, new Object[] { application, pluginPathLocation, location, args });

-	} catch (InvocationTargetException e) {

-		if (e.getTargetException() instanceof Error)

-			throw (Error) e.getTargetException();

-		else

-			throw e;

-	}

-}

-public Class getBootLoader(String base) throws Exception {

-	URLClassLoader loader = new URLClassLoader(new URL[] { getBootURL(base)}, null);

-	return loader.loadClass(BOOTLOADER);

-}

-/**

- * Returns the <code>URL</code> where the boot classes are located.

- */

-protected URL getBootURL(String base) throws MalformedURLException {

-	URL url = null;

-	if (base != null) 

-		return new URL(base);

-	// Create a URL based on the location of this class' code.

-	// strip off jar file and/or last directory to get 

-	// to the directory containing projects.

-	url = getClass().getProtectionDomain().getCodeSource().getLocation();

-	String path = url.getFile();

-	if (path.endsWith(".jar"))

-		path = path.substring(0, path.lastIndexOf("/"));

-	if (path.endsWith("/"))

-		path = path.substring(0, path.length() - 1);

-	if (inVAJ || inVAME) {

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

-		path = path.substring(0, ix + 1);

-		path = path + PROJECT_NAME + "/";

-	} else

-		path = path + "/plugins/org.eclipse.core.boot/boot.jar";

-	return new URL(url.getProtocol(), url.getHost(), url.getPort(), path);

-}

-/**

- * Print the usage of this launcher on the system console

- */

-protected void printUsage(PrintWriter out) {

-	out.println("The general form of using the Platform bootstrap main is:");

-	out.println("      java <main class> -application <name> [option list]");

-	out.println("where the required arguments are:");

-	out.println("      -application <name> : the application to run ");

-	out.println("and where the option list can be any number of the following:");

-	out.println("      -platform <location> : run in the given location");

-	out.println("      -debug [debug options file] : turn on debug mode.  Read debug options from ");

-	out.println("          the specified file or from ./.options if not specified.");

-	out.println("      -? : print this message");

-	out.flush();

-}

-protected String[] processCommandLine(String[] args) throws Exception {

-	int[] configArgs = new int[100];

-	configArgs[0] = -1; // need to initialize the first element to something that could not be an index.

-	int configArgIndex = 0;

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

-		boolean found = false;

-		// check for args without parameters (i.e., a flag arg)

-		// check if debug should be enabled for the entire platform

-		if (args[i].equalsIgnoreCase(DEBUG)) {

-			debug = true;

-			// passed thru this arg (i.e., do not set found = true

-		}

-

-		// look for the usage flag

-		if (args[i].equalsIgnoreCase(USAGE)) {

-			usage = true;

-			// passed thru this arg (i.e., do not set found = true

-		}

-

-		if (found) {

-			configArgs[configArgIndex++] = i;

-			continue;

-		}

-		// check for args with parameters. If we are at the last argument or if the next one

-		// has a '-' as the first character, then we can't have an arg with a parm so continue.

-		if (i == args.length - 1 || args[i + 1].startsWith("-")) {

-			continue;

-		}

-		String arg = args[++i];

-

-		// look for the laucher to run

-		if (args[i - 1].equalsIgnoreCase(BOOT)) {

-			found = true;

-			bootLocation = arg;

-		}

-

-		// look for the application to run

-		if (args[i - 1].equalsIgnoreCase(APPLICATION)) {

-			found = true;

-			application = arg;

-		}

-

-		// done checking for args.  Remember where an arg was found 

-		if (found) {

-			configArgs[configArgIndex++] = i - 1;

-			configArgs[configArgIndex++] = i;

-		}

-	}

-

-	// remove all the arguments consumed by this argument parsing

-	if (configArgIndex == 0)

-		return args;

-	String[] passThruArgs = new String[args.length - configArgIndex];

-	configArgIndex = 0;

-	int j = 0;

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

-		if (i == configArgs[configArgIndex])

-			configArgIndex++;

-		else

-			passThruArgs[j++] = args[i];

-	}

-	return passThruArgs;

-}

-public void run(String[] args) throws Exception {

-	String[] passThruArgs = processCommandLine(args);

-	if (usage) {

-		printUsage(new PrintWriter(System.out));

-		return;

-	}

-	basicRun(passThruArgs);

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplication.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplication.java
deleted file mode 100644
index 3bb792a..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplication.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

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

- * All Rights Reserved.

- */

-

-/* 

- * Update Manager Install Application

- *

- * Command to run from command line:

- *

- *.\jre\bin\java -verify -cp startup.jar org.eclipse.core.launcher.UIMain -application org.eclipse.update.internal.ui.updateManager -install -url http://klicnik.torolab.ibm.com/eclipse/site/ -id org.eclipse.sdk %*

- *

- *

- * Arguments are:

- *   -install   Install command

- *   -url [url] Location from which to install from

- *   -id  [id]  Identifier of the manifest to install

- *

- * Sample:

- *   -install -url file:/c:/temp/updatesite/ -id org.eclipse.sdk

- */

-import java.util.StringTokenizer;

-import java.util.Vector;

-

-public class UMApplication extends Main {

-	private static final String DEFAULT_APPLICATION = "org.eclipse.update.internal.ui.updateManager";

-	public UMApplication() {

-		super();

-		application = DEFAULT_APPLICATION;

-	}

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

-

-		int iReturnCode = 0;

-

-		try {

-			new UMApplication().run(args);

-		}

-

-		catch (Exception e) {

-		}

-

-		System.exit(0);

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterface.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterface.java
deleted file mode 100644
index 2543bc2..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterface.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterfaceProperties.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterfaceProperties.java
deleted file mode 100644
index ac84b0b..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterfaceProperties.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationWindow.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationWindow.java
deleted file mode 100644
index 9d6394b..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationWindow.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialog.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialog.java
deleted file mode 100644
index a098936..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialog.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialogAction.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialogAction.java
deleted file mode 100644
index 19dd3d4..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialogAction.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMPreferencePageSettings.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMPreferencePageSettings.java
deleted file mode 100644
index d5a2709..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMPreferencePageSettings.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizard.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizard.java
deleted file mode 100644
index 0adbc08..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizard.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageComplete.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageComplete.java
deleted file mode 100644
index 5d3a7ec..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageComplete.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstallable.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstallable.java
deleted file mode 100644
index b2803d4..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstallable.java
+++ /dev/null
@@ -1,1333 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

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

- * All Rights Reserved.

- */

-

-import java.io.InputStream;

-import java.lang.reflect.InvocationTargetException;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.Hashtable;

-import java.util.Iterator;

-import java.util.TreeSet;

-import java.util.Vector;

-

-import org.eclipse.core.internal.boot.update.IComponentDescriptor;

-import org.eclipse.core.internal.boot.update.IComponentEntryDescriptor;

-import org.eclipse.core.internal.boot.update.IManifestDescriptor;

-import org.eclipse.core.internal.boot.update.IProductDescriptor;

-import org.eclipse.core.internal.boot.update.IUMRegistry;

-import org.eclipse.core.internal.boot.update.UMEclipseTree;

-import org.eclipse.core.internal.boot.update.URLNamePair;

-import org.eclipse.core.internal.boot.update.UpdateManagerConstants;

-import org.eclipse.core.internal.boot.update.BaseURLHandler.Response;

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

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.operation.IRunnableWithProgress;

-import org.eclipse.jface.viewers.ColumnLayoutData;

-import org.eclipse.jface.viewers.ColumnWeightData;

-import org.eclipse.jface.viewers.TableLayout;

-import org.eclipse.jface.wizard.WizardPage;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.SashForm;

-import org.eclipse.swt.custom.TableTree;

-import org.eclipse.swt.custom.TableTreeItem;

-import org.eclipse.swt.events.MouseEvent;

-import org.eclipse.swt.events.MouseMoveListener;

-import org.eclipse.swt.events.MouseTrackListener;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.events.SelectionListener;

-import org.eclipse.swt.graphics.Point;

-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.TableColumn;

-import org.eclipse.swt.widgets.TableItem;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.update.internal.core.URLHandler;

-import org.eclipse.update.internal.core.UpdateManagerStrings;

-import org.eclipse.webdav.http.client.IStatusCodes;

-

-/**

- * Presents products and components that may be selected for installation.

- */

-public class UMWizardPageInstallable extends WizardPage implements MouseMoveListener, MouseTrackListener, SelectionListener {

-	protected boolean _bRefreshRequired = true;

-	protected UMWizard _wizard = null;

-	protected TableTree _tableTreeItems = null;

-	protected Hashtable _hashRegistryCache = new Hashtable();

-	protected TreeSet _treeSetItems = null;

-	protected TreeSet _treeSetLocations = null;

-	protected Text _textDescription = null;

-	protected String _strDescription = null;

-	protected boolean _bUpdateMode = false;

-	protected SashForm _sashFormTopBottom = null;

-	protected IProgressMonitor _progressMonitor = null;

-	protected URLNamePair[] _urlNamePairs = null;

-	protected Button _buttonShowLatestOnly = null;

-	protected boolean _bShowLatestOnly = true;

-	/**

-	 *

-	 */

-	public UMWizardPageInstallable(UMWizard wizard, String strName, boolean bUpdateMode) {

-		super(strName);

-		_wizard = wizard;

-		_bUpdateMode = bUpdateMode;

-

-		if (bUpdateMode == true) {

-			this.setTitle(UpdateManagerStrings.getString("S_New_Component_Updates"));

-			this.setDescription(UpdateManagerStrings.getString("S_Select_available_versions_to_install"));

-		}

-		else {

-			this.setTitle(UpdateManagerStrings.getString("S_New_Components"));

-			this.setDescription(UpdateManagerStrings.getString("S_Select_components_to_install"));

-		}

-	}

-	/**

-	 * 

-	 */

-	public void addLocationToTree(IUMRegistry registryRemote, IUMRegistry registryLocal, IProgressMonitor progressMonitor) {

-

-		UMWizardTreeItem itemProduct = null;

-		UMWizardTreeItem itemComponent = null;

-		UMWizardTreeItem itemComponentEntry = null;

-		UMWizardTreeItem itemLocation = null;

-		UMWizardTreeItem itemComponentCategory = null;

-		UMWizardTreeItem itemProductCategory = null;

-

-		IProductDescriptor descriptorLocalProduct = null;

-		IProductDescriptor[] descriptorsProduct = null;

-		IComponentDescriptor descriptorLocalComponent = null;

-		IComponentDescriptor[] descriptorsComponent = null;

-		IComponentEntryDescriptor[] descriptorsEntry = null;

-

-		// Obtain descriptors

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

-		if (_bShowLatestOnly == true) {

-			descriptorsProduct = registryRemote.getProductDescriptors();

-			descriptorsComponent = registryRemote.getComponentDescriptors();

-		}

-		else {

-			descriptorsProduct = registryRemote.getAllProductDescriptors();

-			descriptorsComponent = registryRemote.getAllComponentDescriptors();

-		}

-

-		if (descriptorsProduct.length + descriptorsComponent.length > 0) {

-

-			itemLocation = new UMWizardTreeItem();

-			itemLocation._iType = UpdateManagerConstants.TYPE_URL;

-			itemLocation._strDescription = registryRemote.getRegistryBaseURL().toExternalForm();

-			itemLocation._strName = getURLDescription(itemLocation._strDescription);

-			itemLocation._strURLUpdate = itemLocation._strName;

-

-			progressMonitor.beginTask(UpdateManagerStrings.getString("S_Examining") + ":", descriptorsProduct.length + descriptorsComponent.length);

-			progressMonitor.subTask(itemLocation._strName);

-

-			IManifestDescriptor[] descriptorsSelected = _wizard._manifestDescriptors;

-

-			boolean bIncludeThisOne = false;

-

-			// Products

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

-			if (descriptorsProduct.length > 0) {

-

-				itemProductCategory = new UMWizardTreeItem();

-				itemProductCategory._iType = UpdateManagerConstants.TYPE_PRODUCT_CATEGORY;

-				itemProductCategory._strName = "products";

-

-				// Add product category to location tree later

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

-				IProductDescriptor descriptorProductSelected = null;

-

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

-

-					// Include all if selected descriptors is null

-					// Otherwise, include only those selected

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

-					bIncludeThisOne = true;

-

-					if (descriptorsSelected != null) {

-						bIncludeThisOne = false;

-

-						for (int j = 0; j < descriptorsSelected.length; ++j) {

-							if (descriptorsSelected[j] instanceof IProductDescriptor) {

-								descriptorProductSelected = (IProductDescriptor) descriptorsSelected[j];

-								if (descriptorProductSelected.getUniqueIdentifier() != null) {

-									if (descriptorProductSelected.getUniqueIdentifier().equals(descriptorsProduct[i].getUniqueIdentifier()) == true) {

-										bIncludeThisOne = true;

-										break;

-									}

-								}

-							}

-						}

-					}

-

-					// Display only non-installed items

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

-					if (_bUpdateMode == false) {

-						if (registryLocal.getProductDescriptor(descriptorsProduct[i].getUniqueIdentifier()) != null) {

-							bIncludeThisOne = false;

-						}

-					}

-

-					if (bIncludeThisOne == true) {

-						itemProduct = new UMWizardTreeItem();

-						itemProduct._iType = UpdateManagerConstants.TYPE_PRODUCT;

-						itemProduct._strDescription = descriptorsProduct[i].getDescription();

-						itemProduct._strName = descriptorsProduct[i].getLabel();

-						itemProduct._strId = descriptorsProduct[i].getUniqueIdentifier();

-						itemProduct._strVendorName = descriptorsProduct[i].getProviderName();

-						itemProduct._strVersionAvailable = descriptorsProduct[i].getVersionStr();

-						itemProduct._descriptorAvailable = descriptorsProduct[i];

-

-						descriptorLocalProduct = registryLocal.getProductDescriptor(itemProduct._strId);

-

-						if (descriptorLocalProduct != null) {

-							itemProduct._descriptorCurrent = descriptorLocalProduct;

-							itemProduct._strVersionCurrent = descriptorLocalProduct.getVersionStr();

-						}

-

-						itemProductCategory.addChildItem(itemProduct);

-

-						// Component entries of the product

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

-						descriptorsEntry = descriptorsProduct[i].getComponentEntries();

-

-						for (int j = 0; j < descriptorsEntry.length; ++j) {

-

-							// Turn off selected flag

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

-							descriptorsEntry[j].isSelected(false);

-							itemComponentEntry = new UMWizardTreeItem();

-							itemComponentEntry._iType = UpdateManagerConstants.TYPE_COMPONENT_ENTRY;

-							itemComponentEntry._strName = descriptorsEntry[j].getLabel();

-							itemComponentEntry._strId = descriptorsEntry[j].getUniqueIdentifier();

-							itemComponentEntry._strVersionAvailable = descriptorsEntry[j].getVersionStr();

-							itemComponentEntry._descriptorEntry = descriptorsEntry[j];

-

-							descriptorLocalComponent = registryLocal.getComponentDescriptor(itemComponentEntry._strId);

-

-							if (descriptorLocalComponent != null) {

-								itemComponentEntry._strVersionCurrent = descriptorLocalComponent.getVersionStr();

-								itemComponentEntry._strVendorName = descriptorLocalComponent.getProviderName();

-								itemComponentEntry._descriptorCurrent = descriptorLocalComponent;

-							}

-

-							itemProduct.addChildItem(itemComponentEntry);

-						}

-					}

-

-					progressMonitor.worked(1);

-				}

-

-				// Add component category if there are any components

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

-				if (itemProductCategory._vectorChildren != null && itemProductCategory._vectorChildren.size() > 0) {

-					itemLocation.addChildItem(itemProductCategory);

-				}

-			}

-

-			// Components

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

-			if (descriptorsComponent.length > 0) {

-

-				itemComponentCategory = new UMWizardTreeItem();

-				itemComponentCategory._iType = UpdateManagerConstants.TYPE_COMPONENT_CATEGORY;

-				itemComponentCategory._strName = "components";

-

-				// Add product category to location tree later

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

-				IComponentDescriptor descriptorComponentSelected = null;

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

-

-					// Include all if selected descriptors is null

-					// Otherwise, include only those selected

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

-					bIncludeThisOne = true;

-					if (descriptorsSelected != null) {

-						bIncludeThisOne = false;

-						for (int j = 0; j < descriptorsSelected.length; ++j) {

-							if (descriptorsSelected[j] instanceof IComponentDescriptor) {

-								descriptorComponentSelected = (IComponentDescriptor) descriptorsSelected[j];

-								if (descriptorComponentSelected.getUniqueIdentifier() != null) {

-									if (descriptorComponentSelected.getUniqueIdentifier().equals(descriptorsComponent[i].getUniqueIdentifier()) == true) {

-										bIncludeThisOne = true;

-										break;

-									}

-								}

-							}

-						}

-					}

-

-					// Display only non-installed items

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

-					if (_bUpdateMode == false) {

-						if (registryLocal.getComponentDescriptor(descriptorsComponent[i].getUniqueIdentifier()) != null) {

-							bIncludeThisOne = false;

-						}

-					}

-

-					if (bIncludeThisOne == true) {

-						itemComponent = new UMWizardTreeItem();

-						itemComponent._iType = UpdateManagerConstants.TYPE_COMPONENT;

-						itemComponent._strDescription = descriptorsComponent[i].getDescription();

-						itemComponent._strName = descriptorsComponent[i].getLabel();

-						itemComponent._strId = descriptorsComponent[i].getUniqueIdentifier();

-						itemComponent._strVendorName = descriptorsComponent[i].getProviderName();

-						itemComponent._strVersionAvailable = descriptorsComponent[i].getVersionStr();

-						itemComponent._descriptorAvailable = descriptorsComponent[i];

-

-						descriptorLocalComponent = registryLocal.getComponentDescriptor(itemComponent._strId);

-

-						if (descriptorLocalComponent != null) {

-							itemComponent._strVersionCurrent = descriptorLocalComponent.getVersionStr();

-							itemComponent._descriptorCurrent = descriptorLocalComponent;

-						}

-

-						itemComponentCategory.addChildItem(itemComponent);

-					}

-					progressMonitor.worked(1);

-				}

-

-				// Add component category if there are any components

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

-				if (itemComponentCategory._vectorChildren != null && itemComponentCategory._vectorChildren.size() > 0) {

-					itemLocation.addChildItem(itemComponentCategory);

-				}

-			}

-			progressMonitor.done();

-

-			// Add location if there are any products/components

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

-			if (itemLocation._vectorChildren != null && itemLocation._vectorChildren.size() > 0) {

-				_treeSetItems.add(itemLocation);

-			}

-		}

-	}

-	/**

-	 *

-	 */

-	public void connectToTree() {

-

-		// Remove all existing tree items

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

-		_tableTreeItems.removeAll();

-

-		UMWizardTreeItem item = null;

-

-		Iterator iter = _treeSetItems.iterator();

-

-		while (iter.hasNext() == true) {

-

-			item = (UMWizardTreeItem) iter.next();

-

-			// Create a new tree item for the top level (URL)

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

-			TableTreeItem treeItem = new TableTreeItem(_tableTreeItems, SWT.NULL);

-

-			if (item._strName != null)

-				treeItem.setText(0, item._strName);

-

-			if (item._strVendorName != null)

-				treeItem.setText(4, item._strVendorName);

-

-			treeItem.setData(item);

-

-			// Create child tree items

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

-			if (item._vectorChildren != null) {

-				for (int i = 0; i < item._vectorChildren.size(); ++i) {

-					connectToTree((UMWizardTreeItem) item._vectorChildren.elementAt(i), treeItem);

-				}

-			}

-

-			treeItem.setExpanded(true);

-		}

-	}

-	/**

-	 * Connects items to a new tree widget.

-	 */

-	public void connectToTree(UMWizardTreeItem item, TableTreeItem treeItemParent) {

-

-		// Ignore product category and component category items

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

-		TableTreeItem treeItem = treeItemParent;

-

-		// Create a new tree item

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

-		if (item._iType == UpdateManagerConstants.TYPE_PRODUCT || item._iType == UpdateManagerConstants.TYPE_COMPONENT || item._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY) {

-

-			treeItem = new TableTreeItem(treeItemParent, SWT.NULL);

-			treeItem.setText(0, item._strName);

-			treeItem.setData(item);

-

-			// Table text

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

-			if (item._strVersionCurrent != null)

-				treeItem.setText(1, item._strVersionCurrent);

-

-			if (item._strVersionAvailable != null)

-				treeItem.setText(2, item._strVersionAvailable);

-

-			if (item._strVendorName != null)

-				treeItem.setText(4, item._strVendorName);

-

-			// Status text

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

-			boolean bInstallable = false;

-

-			if (item._iType == UpdateManagerConstants.TYPE_PRODUCT) {

-				int iInstallable = isInstallableProduct(treeItem);

-				treeItem.setText(3, convertInstallableToString(iInstallable));

-			}

-

-			else if (item._iType == UpdateManagerConstants.TYPE_COMPONENT) {

-				int iInstallable = isInstallableComponent(treeItem);

-				treeItem.setText(3, convertInstallableToString(iInstallable));

-			}

-

-			else if (item._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY) {

-

-				int iInstallable = isInstallableComponentEntry(treeItem);

-				treeItem.setText(3, convertInstallableToString(iInstallable));

-

-				if (iInstallable == UpdateManagerConstants.OK_TO_INSTALL) {

-					// Optional installation

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

-					if (item._descriptorEntry.isOptionalForInstall() == true) {

-						treeItem.setText(3, UpdateManagerStrings.getString("S_optional"));

-					}

-				}

-				else {

-					treeItem.setText(3, convertInstallableToString(iInstallable));

-				}

-			}

-		}

-

-		// Create child tree items

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

-		if (item._vectorChildren != null) {

-			for (int i = 0; i < item._vectorChildren.size(); ++i) {

-				connectToTree((UMWizardTreeItem) item._vectorChildren.elementAt(i), treeItem);

-			}

-		}

-

-		// Expand only after children have been created

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

-		if (item._iType != UpdateManagerConstants.TYPE_PRODUCT)

-			treeItem.setExpanded(true);

-

-		return;

-	}

-	/**

-	 * Converts installable constant to a displayable string

-	 */

-	public String convertInstallableToString(int iInstallable) {

-

-		switch (iInstallable) {

-			case UpdateManagerConstants.NOT_COMPATIBLE :

-				return UpdateManagerStrings.getString("S_not_compatible");

-			case UpdateManagerConstants.NOT_NEWER :

-				return UpdateManagerStrings.getString("S_not_newer");

-			case UpdateManagerConstants.NOT_UPDATABLE :

-				return UpdateManagerStrings.getString("S_not_updatable");

-			case UpdateManagerConstants.NOT_AVAILABLE :

-				return UpdateManagerStrings.getString("S_not_available");

-			default :

-				return "";

-		}

-	}

-	/**

-	 * createContents method comment.

-	 */

-	public void createControl(Composite compositeParent) {

-		// Content

-		//--------

-		Composite compositeContent = new Composite(compositeParent, SWT.NULL);

-

-		GridLayout layout = new GridLayout();

-		compositeContent.setLayout(layout);

-

-		GridData gridData = new GridData();

-		gridData.horizontalAlignment = GridData.FILL;

-		gridData.verticalAlignment = GridData.FILL;

-		gridData.grabExcessHorizontalSpace = true;

-		gridData.grabExcessVerticalSpace = true;

-		compositeContent.setLayoutData(gridData);

-

-		// Checkbox: Show most recent versions only

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

-		_buttonShowLatestOnly = new Button(compositeContent, SWT.CHECK);

-		_buttonShowLatestOnly.setText(UpdateManagerStrings.getString("S_Show_only_most_recent_versions"));

-		_buttonShowLatestOnly.setSelection(_bShowLatestOnly);

-		_buttonShowLatestOnly.addSelectionListener(this);

-

-		// SashPane Top/Bottom

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

-		_sashFormTopBottom = new SashForm(compositeContent, SWT.VERTICAL);

-

-		gridData = new GridData();

-		gridData.horizontalAlignment = GridData.FILL;

-		gridData.verticalAlignment = GridData.FILL;

-		gridData.grabExcessHorizontalSpace = true;

-		gridData.grabExcessVerticalSpace = true;

-		_sashFormTopBottom.setLayoutData(gridData);

-

-		// Tree: Installable

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

-		_tableTreeItems = new TableTree(_sashFormTopBottom, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.CHECK);

-

-		String[] columnTitles = { UpdateManagerStrings.getString("S_Component"), UpdateManagerStrings.getString("S_Installed"), UpdateManagerStrings.getString("S_Available"), UpdateManagerStrings.getString("S_Status"), UpdateManagerStrings.getString("S_Provider")};

-		int[] iColumnWeight = { 40, 15, 15, 15, 15 };

-		TableLayout layoutTable = new TableLayout();

-

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

-			TableColumn tableColumn = new TableColumn(_tableTreeItems.getTable(), SWT.NONE);

-			tableColumn.setText(columnTitles[i]);

-			ColumnLayoutData cLayout = new ColumnWeightData(iColumnWeight[i], true);

-			layoutTable.addColumnData(cLayout);

-		}

-

-		_tableTreeItems.getTable().setLinesVisible(true);

-		_tableTreeItems.getTable().setHeaderVisible(true);

-		_tableTreeItems.getTable().setLayout(layoutTable);

-		_tableTreeItems.getTable().addMouseMoveListener(this);

-		_tableTreeItems.getTable().addMouseTrackListener(this);

-

-		_tableTreeItems.addSelectionListener(this);

-

-		gridData = new GridData();

-		gridData.horizontalAlignment = GridData.FILL;

-		gridData.verticalAlignment = GridData.FILL;

-		gridData.grabExcessHorizontalSpace = true;

-		gridData.grabExcessVerticalSpace = true;

-		_tableTreeItems.setLayoutData(gridData);

-

-		// Text: Description

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

-		_textDescription = new Text(_sashFormTopBottom, SWT.WRAP | SWT.READ_ONLY | SWT.MULTI | SWT.BORDER);

-		gridData = new GridData();

-		gridData.horizontalAlignment = GridData.FILL;

-		gridData.verticalAlignment = GridData.FILL;

-		gridData.heightHint = 50;

-		_textDescription.setLayoutData(gridData);

-

-		_sashFormTopBottom.setWeights(new int[] { 80, 20 });

-

-		setControl(compositeContent);

-

-		setPageComplete(false);

-	}

-	/**

-	 * 

-	 */

-	public IUMRegistry getRegistryAt(String strLocation) {

-

-		IUMRegistry registry = (IUMRegistry) _hashRegistryCache.get(strLocation);

-

-		// Create new entry if not found

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

-		if (registry == null) {

-			URL url = null;

-

-			try {

-				url = new URL(strLocation);

-			}

-			catch (MalformedURLException ex) {

-				return null;

-			}

-

-			registry = _wizard._updateManager.getRegistryAt(url);

-

-			if (registry != null) {

-				_hashRegistryCache.put(strLocation, registry);

-			}

-		}

-

-		return registry;

-	}

-	/**

-	 * 

-	 */

-	public UMWizardTreeItem[] getSelectedItems() {

-

-		UMWizardTreeItem[] items = null;

-

-		// Obtain all selected items

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

-		TableTreeItem[] treeItemChildren = _tableTreeItems.getItems();

-

-		// Place them into an array

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

-		Hashtable hashProducts = new Hashtable();

-		Hashtable hashComponents = new Hashtable();

-		Hashtable hashComponentEntries = new Hashtable();

-

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

-			getSelectedItemsRecursive(treeItemChildren[i], hashProducts, hashComponents, hashComponentEntries);

-		}

-

-		// Copy items to an array

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

-		items = new UMWizardTreeItem[hashProducts.size() + hashComponents.size() + hashComponentEntries.size()];

-

-		// Products

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

-		Object[] objArray = hashProducts.values().toArray();

-		System.arraycopy(objArray, 0, items, 0, objArray.length);

-

-		// Components

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

-		objArray = hashComponents.values().toArray();

-		System.arraycopy(objArray, 0, items, hashProducts.size(), objArray.length);

-

-		// Component Entries

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

-		objArray = hashComponentEntries.values().toArray();

-		System.arraycopy(objArray, 0, items, hashProducts.size() + hashComponents.size(), objArray.length);

-

-		return items;

-	}

-	/**

-	 * 

-	 */

-	public void getSelectedItemsRecursive(TableTreeItem treeItem, Hashtable hashProducts, Hashtable hashComponents, Hashtable hashComponentEntries) {

-

-		// Obtain all selected items

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

-		UMWizardTreeItem umTreeItem = null;

-

-		if (treeItem.getChecked() == true) {

-			umTreeItem = (UMWizardTreeItem) treeItem.getData();

-

-			if (umTreeItem != null) {

-				if (umTreeItem._iType == UpdateManagerConstants.TYPE_PRODUCT) {

-

-					// Remove duplicates by storing newer ones only

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

-					if (hashProducts.containsKey(umTreeItem._strId) == true) {

-						UMWizardTreeItem umTreeItemPrevious = (UMWizardTreeItem) hashProducts.get(umTreeItem._strId);

-						if (((IProductDescriptor) umTreeItem._descriptorAvailable).compare((IProductDescriptor) umTreeItemPrevious._descriptorAvailable) > 0) {

-							hashProducts.remove(umTreeItem._strId);

-							hashProducts.put(umTreeItem._strId, umTreeItem);

-						}

-					}

-					else {

-						hashProducts.put(umTreeItem._strId, umTreeItem);

-					}

-				}

-

-				else if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT) {

-

-					// Remove duplicates by storing newer ones only

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

-					if (hashComponents.containsKey(umTreeItem._strId) == true) {

-						UMWizardTreeItem umTreeItemPrevious = (UMWizardTreeItem) hashComponents.get(umTreeItem._strId);

-						if (((IComponentDescriptor) umTreeItem._descriptorAvailable).compare((IComponentDescriptor) umTreeItemPrevious._descriptorAvailable) > 0) {

-							hashComponents.remove(umTreeItem._strId);

-							hashComponents.put(umTreeItem._strId, umTreeItem);

-						}

-					}

-					else {

-						hashComponents.put(umTreeItem._strId, umTreeItem);

-					}

-				}

-

-				else if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY) {

-

-					// Add only if the parent product has not been selected

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

-					TableTreeItem treeItemParent = treeItem.getParentItem();

-					if (treeItemParent.getChecked() == false) {

-

-						// Remove duplicates by storing newer ones only

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

-						if (hashComponentEntries.containsKey(umTreeItem._strId) == true) {

-							UMWizardTreeItem umTreeItemPrevious = (UMWizardTreeItem) hashComponentEntries.get(umTreeItem._strId);

-							if (((IComponentEntryDescriptor) umTreeItem._descriptorEntry).compare((IComponentEntryDescriptor) umTreeItemPrevious._descriptorEntry) > 0) {

-								hashComponentEntries.remove(umTreeItem._strId);

-								hashComponentEntries.put(umTreeItem._strId, umTreeItem);

-							}

-						}

-						else {

-							hashComponentEntries.put(umTreeItem._strId, umTreeItem);

-						}

-					}

-				}

-			}

-		}

-

-		// Do child items

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

-		TableTreeItem[] treeItemChildren = treeItem.getItems();

-

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

-			getSelectedItemsRecursive(treeItemChildren[i], hashProducts, hashComponents, hashComponentEntries);

-		}

-

-		return;

-	}

-	/**

-	 */

-	public String getURLDescription(String strURL) {

-

-		if (_treeSetLocations != null && _treeSetLocations.size() > 0) {

-			Iterator iter = _treeSetLocations.iterator();

-			URLNamePair pair = null;

-			while (iter.hasNext() == true) {

-				pair = (URLNamePair) iter.next();

-				if (pair._getURL().equals(strURL) == true) {

-					if (pair._getName() != null && pair._getName().length() > 0) {

-						return pair._getName();

-					}

-				}

-			}

-		}

-

-		return strURL;

-	}

-	/**

-	 * Obtains a list of registered component URLs from the local update registry.

-	 * Obtains a list of bookmarked URLs from the persistent data.

-	 * Creates a tree for all of the URLs.

-	 */

-	protected void initializeContent() {

-

-		if (_bRefreshRequired == false) {

-			return;

-		}

-

-		// Add all selected locations to a set

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

-		_treeSetLocations = new TreeSet(new UMWizardURLNamePairComparator());

-

-		// Obtain predefined locations strings from location page

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

-		UMWizardPageLocations pageLocations = (UMWizardPageLocations) _wizard.getPage("locations");

-

-		URLNamePair[] pairs = pageLocations.getSelectedPredefinedLocations();

-

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

-			_treeSetLocations.add(pairs[i]);

-		}

-

-		// Obtain additional locations strings from location page

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

-		pairs = pageLocations.getSelectedAdditionalLocations();

-

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

-			_treeSetLocations.add(pairs[i]);

-		}

-

-		// Obtain local registry in case there are installed versions

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

-		final IUMRegistry registryLocal = _wizard._updateManager.getRegistryManager().getCurrentRegistry();

-

-		final Vector vectorRegistries = new Vector();

-		final Vector vectorURLsFailed = new Vector();

-

-		_tableTreeItems.setRedraw(false);

-

-		// Create an operation that read and create a registry for each location

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

-		IRunnableWithProgress operation = new IRunnableWithProgress() {

-			public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {

-

-				_progressMonitor = progressMonitor;

-

-				progressMonitor.beginTask(UpdateManagerStrings.getString("S_Reading") + ":", _treeSetLocations.size());

-

-				URLNamePair pair = null;

-				IUMRegistry registry = null;

-

-				Iterator iter = _treeSetLocations.iterator();

-

-				boolean bUrlOk = false;

-

-				while (iter.hasNext() == true) {

-

-					bUrlOk = false;

-

-					// Obtain the registry for the URL

-					// This will download the information

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

-					pair = (URLNamePair) iter.next();

-

-					progressMonitor.subTask(pair._getName());

-

-					// Attempt to open the stream

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

-					try {

-						URL url = new URL(pair._getURL());

-						url = UMEclipseTree.appendTrailingSlash(url);

-						Response response = URLHandler.open(url);

-						// we open the url to get authenticated.  response code not

-						// important at this point

-					/*	if (response.getResponseCode() == IStatusCodes.HTTP_OK) {

-							InputStream stream = response.getInputStream();

-

-							if (stream != null) {

-								stream.close();*/

-								bUrlOk = true;

-					//		}

-					//	}

-					}

-					catch (Exception ex) {

-					}

-

-					if (bUrlOk == true) { 

-						registry = getRegistryAt(pair._getURL());

-

-						// Add it to the list

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

-						if (registry != null)

-							vectorRegistries.add(registry);

-					}

-					else {

-						vectorURLsFailed.add(pair);

-					}

-

-					progressMonitor.worked(1);

-				}

-				progressMonitor.done();

-

-				_progressMonitor = null;

-			}

-		};

-

-		// Run the operation

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

-		try {

-			_wizard.getContainer().run(true, true, operation);

-		}

-		catch (InterruptedException e) {

-		}

-		catch (InvocationTargetException e) {

-		}

-

-		// Create a new tree

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

-		_treeSetItems = new TreeSet(new UMWizardTreeItemComparator());

-

-		// Create an operation that will fill the tree with information

-		// Location URL A

-		//   products

-		//     Product A

-		//     Product B

-		//   components

-		//     Component A

-		//     Component B

-		// Location URL B

-		// ...

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

-		operation = new IRunnableWithProgress() {

-			public void run(IProgressMonitor progressMonitor) throws InvocationTargetException {

-

-				IUMRegistry registryRemote = null;

-

-				for (int i = 0; i < vectorRegistries.size(); ++i) {

-					registryRemote = (IUMRegistry) vectorRegistries.elementAt(i);

-					addLocationToTree(registryRemote, registryLocal, progressMonitor);

-				}

-			}

-		};

-

-		// Run the operation

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

-		try {

-			_wizard.getContainer().run(true, true, operation);

-		}

-		catch (InterruptedException e) {

-			return;

-			//		System.out.println( "Interrupted" );

-		}

-		catch (InvocationTargetException e) {

-			//		System.out.println( "Invocation" );

-		}

-

-		_tableTreeItems.setRedraw(true);

-

-		// Create tree widget items for each update manager tree item

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

-		connectToTree();

-

-		StringBuffer strbMessage = new StringBuffer();

-

-		// Determine whether there are any updatable items

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

-		if (_tableTreeItems.getItemCount() == 0)

-			strbMessage.append(UpdateManagerStrings.getString("S_No_installable_items_were_found") + "\n\n");

-

-		// Determine if any locations could not be accessed

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

-		if (vectorURLsFailed.size() > 0) {

-			strbMessage.append(UpdateManagerStrings.getString("S_Unable_to_access_the_following_locations") + ":");

-			for (int i = 0; i < vectorURLsFailed.size(); ++i) {

-				strbMessage.append("\n   ");

-				strbMessage.append(((URLNamePair) vectorURLsFailed.elementAt(i))._getName());

-				strbMessage.append(" (");

-				strbMessage.append(((URLNamePair) vectorURLsFailed.elementAt(i))._getURL());

-				strbMessage.append(")");

-			}

-		}

-

-		if (strbMessage.length() > 0) {

-			MessageDialog.openInformation(getControl().getShell(), UpdateManagerStrings.getString("S_Information"), strbMessage.toString());

-		}

-

-		// Reset refresh flag

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

-		_bRefreshRequired = false;

-

-		return;

-	}

-	/**

-	 */

-	public int isInstallableComponent(TableTreeItem treeItemComponent) {

-

-		UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItemComponent.getData();

-

-		// False if none available to install

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

-		if (umTreeItem._descriptorAvailable == null) {

-			return -1;

-		}

-

-		// True if not yet installed

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

-		if (umTreeItem._descriptorCurrent == null) {

-			return UpdateManagerConstants.OK_TO_INSTALL;

-		}

-

-		// True if installable

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

-		return ((IComponentDescriptor) umTreeItem._descriptorAvailable).isInstallable((IComponentDescriptor) umTreeItem._descriptorCurrent);

-	}

-	/**

-	 * @return int

-	 * @param treeItemComponent org.eclipse.swt.custom.TableTreeItem

-	 */

-	public int isInstallableComponentEntry(TableTreeItem treeItemComponentEntry) {

-

-		UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItemComponentEntry.getData();

-

-		// False if none available to install

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

-		if (umTreeItem._descriptorEntry == null) {

-			return -1;

-		}

-

-		// Is the product installable?

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

-		TableTreeItem treeItemProduct = treeItemComponentEntry.getParentItem();

-

-		int iProductInstallable = isInstallableProduct(treeItemProduct);

-

-		// If the product is not installable, disable if mandatory component

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

-		if (iProductInstallable != UpdateManagerConstants.OK_TO_INSTALL) {

-			if (umTreeItem._descriptorEntry.isOptionalForInstall() == false) {

-				return iProductInstallable;

-			}

-		}

-

-		return umTreeItem._descriptorEntry.isInstallable((IComponentDescriptor) umTreeItem._descriptorCurrent);

-	}

-	/**

-	 * @return int

-	 * @param treeItemComponent org.eclipse.swt.custom.TableTreeItem

-	 */

-	public int isInstallableProduct(TableTreeItem treeItemProduct) {

-

-		UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItemProduct.getData();

-

-		// False if none available to install

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

-		if (umTreeItem._descriptorAvailable == null) {

-			return -1;

-		}

-

-		// True if not yet installed

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

-		else if (umTreeItem._descriptorCurrent == null) {

-			return UpdateManagerConstants.OK_TO_INSTALL;

-		}

-

-		// True if installable

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

-		return ((IProductDescriptor) umTreeItem._descriptorAvailable).isInstallable((IProductDescriptor) umTreeItem._descriptorCurrent);

-	}

-	/**

-	 * 

-	 */

-	public boolean isInstallableRecursive(TableTreeItem treeItem) {

-

-		boolean bInstallable = false;

-

-		UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItem.getData();

-

-		// True if product or component is checked

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

-		if (treeItem.getChecked() == true) {

-			if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT || umTreeItem._iType == UpdateManagerConstants.TYPE_PRODUCT || umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY) {

-				return true;

-			}

-		}

-

-		// Check all children

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

-		TableTreeItem[] treeItemChildren = treeItem.getItems();

-

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

-			if (isInstallableRecursive(treeItemChildren[i]) == true) {

-				return true;

-			}

-		}

-

-		return false;

-	}

-	/**

-	 * Sent when the mouse pointer passes into the area of

-	 * the screen covered by a control.

-	 */

-	public void mouseEnter(org.eclipse.swt.events.MouseEvent e) {

-	}

-	/**

-	 * Sent when the mouse pointer passes out of the area of

-	 * the screen covered by a control.  Erases the description text area.

-	 */

-	public void mouseExit(MouseEvent e) {

-		if (_strDescription != _wizard._strEmpty) {

-			_textDescription.setText(_wizard._strEmpty);

-			_strDescription = _wizard._strEmpty;

-		}

-	}

-	/**

-	 * Sent when the mouse pointer hovers (that is, stops moving

-	 * for an (operating system specified) period of time) over

-	 * a control.

-	 */

-	public void mouseHover(MouseEvent e) {

-	}

-	/**

-	 * Determines which item the mouse is over.  Sets the text in the description text area to the description of the item.

-	 */

-	public void mouseMove(MouseEvent e) {

-

-		// Table item

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

-		TableItem tableItem = _tableTreeItems.getTable().getItem(new Point(e.x, e.y));

-

-		// TableTree item

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

-		if (tableItem != null) {

-

-			TableTreeItem tableTreeItem = (TableTreeItem) tableItem.getData();

-

-			// UMWizardTreeItem

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

-			if (tableTreeItem != null) {

-

-				UMWizardTreeItem item = (UMWizardTreeItem) tableTreeItem.getData();

-

-				// Description string

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

-				if (item != null) {

-					if (item._strDescription != null) {

-						if (_strDescription != item._strDescription) {

-							_textDescription.setText(item._strDescription);

-							_strDescription = item._strDescription;

-						}

-					}

-					else {

-						if (_strDescription != _wizard._strEmpty) {

-							_textDescription.setText(_wizard._strEmpty);

-							_strDescription = _wizard._strEmpty;

-						}

-					}

-				}

-				else if (_strDescription != _wizard._strEmpty) {

-					_textDescription.setText(_wizard._strEmpty);

-					_strDescription = _wizard._strEmpty;

-				}

-

-			}

-		}

-		else if (_strDescription != _wizard._strEmpty) {

-			_textDescription.setText(_wizard._strEmpty);

-			_strDescription = _wizard._strEmpty;

-		}

-	}

-	/**

-	 * @return boolean

-	 */

-	public boolean performCancel() {

-

-		if (_progressMonitor == null)

-			return true;

-

-		_progressMonitor.setCanceled(true);

-		return false;

-	}

-	/**

-	 */

-	protected boolean setCheckedComponent(TableTreeItem treeItemComponent) {

-

-		if (treeItemComponent.getChecked() == false) {

-			int iInstallable = isInstallableComponent(treeItemComponent);

-

-			setTreeItemChecked(treeItemComponent, iInstallable == 0);

-			return iInstallable == 0;

-		}

-

-		return true;

-	}

-	/**

-	 */

-	protected boolean setCheckedComponentEntry(TableTreeItem treeItemComponentEntry) {

-

-		if (treeItemComponentEntry.getChecked() == false) {

-

-			UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItemComponentEntry.getData();

-

-			int iInstallable = isInstallableComponentEntry(treeItemComponentEntry);

-

-			if (iInstallable == 0) {

-

-				// Set checked the product and all of its mandatory components

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

-				TableTreeItem treeItemProduct = treeItemComponentEntry.getParentItem();

-

-				boolean bInstallableProduct = setCheckedProduct(treeItemProduct);

-

-				// If the product is not installable, disable if mandatory component

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

-				if (bInstallableProduct == false) {

-

-					if (umTreeItem._descriptorEntry.isOptionalForInstall() == false) {

-						if (treeItemComponentEntry.getChecked() == true)

-							treeItemComponentEntry.setChecked(false);

-						return false;

-					}

-				}

-			}

-

-			setTreeItemChecked(treeItemComponentEntry, iInstallable == 0);

-			umTreeItem._descriptorEntry.isSelected(iInstallable == 0);

-

-			return iInstallable == 0;

-		}

-

-		return true;

-	}

-	/**

-	 * This routine assumes that the checkbox was unchecked and is currently checked

-	 */

-	protected boolean setCheckedProduct(TableTreeItem treeItemProduct) {

-

-		if (treeItemProduct.getChecked() == false) {

-

-			int iInstallable = isInstallableProduct(treeItemProduct);

-

-			setTreeItemChecked(treeItemProduct, iInstallable == 0);

-

-			if (iInstallable == 0) {

-

-				TableTreeItem[] treeItemChildren = treeItemProduct.getItems();

-

-				UMWizardTreeItem umTreeItem = null;

-

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

-					setCheckedComponentEntry(treeItemChildren[i]);

-				}

-			}

-

-			return iInstallable == 0;

-		}

-

-		return true;

-	}

-	/**

-	 * This routine assumes that the checkbox was unchecked and is currently checked.

-	 */

-	protected boolean setCheckedURL(TableTreeItem treeItemURL) {

-

-		TableTreeItem[] treeItemChildren = treeItemURL.getItems();

-		UMWizardTreeItem umTreeItem = null;

-

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

-			umTreeItem = (UMWizardTreeItem) treeItemChildren[i].getData();

-

-			if (umTreeItem._iType == UpdateManagerConstants.TYPE_PRODUCT) {

-				setCheckedProduct(treeItemChildren[i]);

-			}

-			else if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT) {

-				setCheckedComponent(treeItemChildren[i]);

-			}

-		}

-

-		// Always checked

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

-		if (treeItemURL.getChecked() == false)

-			treeItemURL.setChecked(true);

-

-		return true;

-	}

-	/**

-	 */

-	protected void setTreeItemChecked(TableTreeItem treeItem, boolean bChecked) {

-

-		if (bChecked == true) {

-			if (treeItem.getChecked() == false)

-				treeItem.setChecked(true);

-		}

-		else {

-			if (treeItem.getChecked() == true)

-				treeItem.setChecked(false);

-		}

-	}

-	/**

-	 */

-	public void setTreeItemChecked(boolean bChecked) {

-	}

-	/**

-	 */

-	public void setTreeItemUncheckedRecursiveBackward(TableTreeItem treeItem) {

-

-		if (treeItem.getChecked() != false) {

-			treeItem.setChecked(false);

-		}

-

-		TableTreeItem treeItemParent = treeItem.getParentItem();

-

-		if (treeItemParent != null) {

-			setTreeItemUncheckedRecursiveBackward(treeItemParent);

-		}

-	}

-	/**

-	 */

-	public void setTreeItemUncheckedRecursiveForward(TableTreeItem treeItem) {

-

-		if (treeItem.getChecked() != false) {

-

-			treeItem.setChecked(false);

-			/*

-					UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItem.getData();

-			

-					if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY) {

-			

-						if (umTreeItem._descriptorEntry.isOptionalForInstall() == true) {

-							umTreeItem._descriptorEntry.isSelected(false);

-						}

-					}

-			*/

-		}

-

-		TableTreeItem[] treeItemChildren = treeItem.getItems();

-

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

-			setTreeItemUncheckedRecursiveForward(treeItemChildren[i]);

-		}

-	}

-	/**

-	 * 

-	 */

-	public void setVisible(boolean bVisible) {

-

-		super.setVisible(bVisible);

-

-		if (bVisible == true) {

-			_sashFormTopBottom.layout();

-			initializeContent();

-

-		}

-	}

-	/**

-	 * Sent when default selection occurs in the control.

-	 */

-	public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {

-	}

-	/**

-	 * Sent when selection occurs in the control.

-	 */

-	public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {

-

-		// Checkbox: Show latest versions only

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

-		if (e.widget == _buttonShowLatestOnly) {

-			_bShowLatestOnly = _buttonShowLatestOnly.getSelection();

-			_bRefreshRequired = true;

-			initializeContent();

-		}

-

-		// TableTreeItem: Checkbox

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

-		else if (e.widget == _tableTreeItems && e.detail == SWT.CHECK) {

-

-			// Set page complete to false in case there are

-			// no selected items, or until selection is determined to be valid

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

-			setPageComplete(false);

-

-			TableTreeItem treeItem = (TableTreeItem) e.item;

-

-			UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItem.getData();

-

-			boolean bChecked = treeItem.getChecked();

-

-			// Check

-			//------

-			if (bChecked == true) {

-				// Temporarily uncheck

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

-				treeItem.setChecked(false);

-

-				if (umTreeItem._iType == UpdateManagerConstants.TYPE_URL)

-					setCheckedURL(treeItem);

-

-				else if (umTreeItem._iType == UpdateManagerConstants.TYPE_PRODUCT)

-					setCheckedProduct(treeItem);

-

-				else if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT)

-					setCheckedComponent(treeItem);

-

-				else if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY)

-					setCheckedComponentEntry(treeItem);

-			}

-

-			// Uncheck

-			//--------

-			else {

-				switch (umTreeItem._iType) {

-					case UpdateManagerConstants.TYPE_COMPONENT_ENTRY :

-						umTreeItem._descriptorEntry.isSelected(false);

-						if (umTreeItem._descriptorEntry.isOptionalForInstall() == false)

-							setTreeItemUncheckedRecursiveBackward(treeItem);

-						break;

-

-					default :

-						setTreeItemUncheckedRecursiveBackward(treeItem);

-						setTreeItemUncheckedRecursiveForward(treeItem);

-						break;

-				}

-			}

-

-			// Determine if page is complete

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

-			boolean bPageComplete = false;

-

-			TableTreeItem[] treeItems = _tableTreeItems.getItems();

-

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

-				if (isInstallableRecursive(treeItems[i]) == true) {

-					setPageComplete(true);

-					break;

-				}

-			}

-		}

-

-		return;

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstalling.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstalling.java
deleted file mode 100644
index 7eb1bb8..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstalling.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistory.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistory.java
deleted file mode 100644
index 9589619..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistory.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistoryComplete.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistoryComplete.java
deleted file mode 100644
index 84a9d61..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistoryComplete.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLocations.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLocations.java
deleted file mode 100644
index d61bfbb..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLocations.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLComplete.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLComplete.java
deleted file mode 100644
index 582c842..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLComplete.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstall.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstall.java
deleted file mode 100644
index 4057a14..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstall.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstallable.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstallable.java
deleted file mode 100644
index 0e87c19..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstallable.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstalling.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstalling.java
deleted file mode 100644
index ba49c34..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstalling.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPersistentProperties.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPersistentProperties.java
deleted file mode 100644
index 9cd1af7..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPersistentProperties.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentNew.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentNew.java
deleted file mode 100644
index cdf3a47..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentNew.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentRevert.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentRevert.java
deleted file mode 100644
index 908d541..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentRevert.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentURLInstall.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentURLInstall.java
deleted file mode 100644
index 5c08941..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentURLInstall.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentUpdate.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentUpdate.java
deleted file mode 100644
index f686d65..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentUpdate.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItem.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItem.java
deleted file mode 100644
index 57ebf4a..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItem.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItemComparator.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItemComparator.java
deleted file mode 100644
index 96c1981..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItemComparator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

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

- * All Rights Reserved.

- */

-

-/**

- * 

- */

-import java.util.Comparator;

-public class UMWizardTreeItemComparator implements Comparator {

-	/**

-	 * UpdateManagerTreeItemComparator constructor comment.

-	 */

-	public UMWizardTreeItemComparator() {

-		super();

-	}

-	/**

-	 * Compares its two arguments for order.  Returns a negative integer,

-	 * zero, or a positive integer as the first argument is less than, equal

-	 * to, or greater than the second.<p>

-	 *

-	 * The implementor must ensure that <tt>sgn(compare(x, y)) ==

-	 * -sgn(compare(y, x))</tt> for all <tt>x</tt> and <tt>y</tt>.  (This

-	 * implies that <tt>compare(x, y)</tt> must throw an exception if and only

-	 * if <tt>compare(y, x)</tt> throws an exception.)<p>

-	 *

-	 * The implementor must also ensure that the relation is transitive:

-	 * <tt>((compare(x, y)&gt;0) &amp;&amp; (compare(y, z)&gt;0))</tt> implies

-	 * <tt>compare(x, z)&gt;0</tt>.<p>

-	 *

-	 * Finally, the implementer must ensure that <tt>compare(x, y)==0</tt>

-	 * implies that <tt>sgn(compare(x, z))==sgn(compare(y, z))</tt> for all

-	 * <tt>z</tt>.<p>

-	 *

-	 * It is generally the case, but <i>not</i> strictly required that 

-	 * <tt>(compare(x, y)==0) == (x.equals(y))</tt>.  Generally speaking,

-	 * any comparator that violates this condition should clearly indicate

-	 * this fact.  The recommended language is "Note: this comparator

-	 * imposes orderings that are inconsistent with equals."

-	 * 

-	 * @return a negative integer, zero, or a positive integer as the

-	 *         first argument is less than, equal to, or greater than the

-	 *         second. 

-	 * @throws ClassCastException if the arguments' types prevent them from

-	 *         being compared by this Comparator.

-	 */

-	public int compare(java.lang.Object o1, java.lang.Object o2) {

-

-		if (o1 instanceof UMWizardTreeItem && o2 instanceof UMWizardTreeItem) {

-			if (((UMWizardTreeItem) o1)._strName != null && ((UMWizardTreeItem) o2)._strName != null) {

-				return ((UMWizardTreeItem) o1)._strName.compareTo(((UMWizardTreeItem) o2)._strName);

-			}

-		}

-

-		return 0;

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardURLNamePairComparator.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardURLNamePairComparator.java
deleted file mode 100644
index 59cd313..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardURLNamePairComparator.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UserValidationDialog.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UserValidationDialog.java
deleted file mode 100644
index 8645286..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UserValidationDialog.java
+++ /dev/null
Binary files differ