This commit was manufactured by cvs2svn to create branch 'M5'.
Sprout from master 2002-04-10 12:47:25 UTC Christopher Elek <celek> 'PDE project restructuring'
Delete:
ant/org.eclipse.ant.core/.classpath
ant/org.eclipse.ant.core/.cvsignore
ant/org.eclipse.ant.core/.project
ant/org.eclipse.ant.core/about.html
ant/org.eclipse.ant.core/build.properties
ant/org.eclipse.ant.core/build.xml
ant/org.eclipse.ant.core/buildnotes_platform-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/newpde_build.xml
ant/org.eclipse.ant.core/plugin.properties
ant/org.eclipse.ant.core/plugin.xml
ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePlugin.java
ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html
ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntClassLoader.java
ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntCorePreferences.java
ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/IAntCoreConstants.java
ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Policy.java
ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Task.java
ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Type.java
ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/messages.properties
ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/CommaPatternSet.java
ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/Policy.java
ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/messages.properties
ant/org.eclipse.ant.ui/.classpath
ant/org.eclipse.ant.ui/.cvsignore
ant/org.eclipse.ant.ui/.project
ant/org.eclipse.ant.ui/about.html
ant/org.eclipse.ant.ui/build.properties
ant/org.eclipse.ant.ui/build.xml
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/cview16/ant_view.gif
ant/org.eclipse.ant.ui/icons/basic/eview16/ant_view.gif
ant/org.eclipse.ant.ui/icons/basic/wizban/ant_wiz.gif
ant/org.eclipse.ant.ui/icons/full/clcl16/clear.gif
ant/org.eclipse.ant.ui/icons/full/clcl16/hideOrShowTree.gif
ant/org.eclipse.ant.ui/icons/full/clcl16/showOnlySelectedText.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/eview16/build_exec.gif
ant/org.eclipse.ant.ui/icons/full/eview16/classpath.gif
ant/org.eclipse.ant.ui/icons/full/eview16/jar_l_obj.gif
ant/org.eclipse.ant.ui/icons/full/eview16/type.gif
ant/org.eclipse.ant.ui/icons/full/wizban/ant_wiz.gif
ant/org.eclipse.ant.ui/newpde_build.xml
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/AddTaskDialog.java
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/ClasspathPage.java
ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntContentProvider.java
ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntLabelProvider.java
ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntPage.java
ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntPreferencePage.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/TasksPage.java
ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TypesPage.java
ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/messages.properties
ant/org.eclipse.ant.ui/src_ant/org/eclipse/ant/internal/ui/ant/UIBuildLogger.java
platform/org.eclipse.sdk/.cvsignore
platform/org.eclipse.sdk/.vcm_meta
platform/org.eclipse.sdk/about.html
platform/org.eclipse.sdk/about_prod.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/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/.project
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/doc/hglegal.htm
update/org.eclipse.update.core/doc/ngibmcpy.gif
update/org.eclipse.update.core/doc/org.eclipse.update.core.featureTypes.html
update/org.eclipse.update.core/doc/org.eclipse.update.core.installHandlers.html
update/org.eclipse.update.core/doc/org.eclipse.update.core.siteTypes.html
update/org.eclipse.update.core/plugin.properties
update/org.eclipse.update.core/plugin.xml
update/org.eclipse.update.core/schema/org.eclipse.update.core.featureTypes.xsd
update/org.eclipse.update.core/schema/org.eclipse.update.core.installHandlers.xsd
update/org.eclipse.update.core/schema/org.eclipse.update.core.siteTypes.xsd
update/org.eclipse.update.core/src/org/eclipse/update/configuration/IActivity.java
update/org.eclipse.update.core/src/org/eclipse/update/configuration/IConfiguredSite.java
update/org.eclipse.update.core/src/org/eclipse/update/configuration/IConfiguredSiteChangedListener.java
update/org.eclipse.update.core/src/org/eclipse/update/configuration/IInstallConfiguration.java
update/org.eclipse.update.core/src/org/eclipse/update/configuration/IInstallConfigurationChangedListener.java
update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSite.java
update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSiteChangedListener.java
update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSystemInfoListener.java
update/org.eclipse.update.core/src/org/eclipse/update/configuration/IProblemHandler.java
update/org.eclipse.update.core/src/org/eclipse/update/configuration/LocalSystemInfo.java
update/org.eclipse.update.core/src/org/eclipse/update/configuration/package.html
update/org.eclipse.update.core/src/org/eclipse/update/core/ArchiveReference.java
update/org.eclipse.update.core/src/org/eclipse/update/core/BaseFeatureFactory.java
update/org.eclipse.update.core/src/org/eclipse/update/core/BaseInstallHandler.java
update/org.eclipse.update.core/src/org/eclipse/update/core/BaseSiteFactory.java
update/org.eclipse.update.core/src/org/eclipse/update/core/Category.java
update/org.eclipse.update.core/src/org/eclipse/update/core/ContentReference.java
update/org.eclipse.update.core/src/org/eclipse/update/core/Feature.java
update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureContentProvider.java
update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureReference.java
update/org.eclipse.update.core/src/org/eclipse/update/core/IArchiveReference.java
update/org.eclipse.update.core/src/org/eclipse/update/core/ICategory.java
update/org.eclipse.update.core/src/org/eclipse/update/core/IContentConsumer.java
update/org.eclipse.update.core/src/org/eclipse/update/core/IFeature.java
update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureContentConsumer.java
update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureContentProvider.java
update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureFactory.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/IInstallHandler.java
update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallHandlerEntry.java
update/org.eclipse.update.core/src/org/eclipse/update/core/INonPluginEntry.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/ISiteContentProvider.java
update/org.eclipse.update.core/src/org/eclipse/update/core/ISiteFactory.java
update/org.eclipse.update.core/src/org/eclipse/update/core/IURLEntry.java
update/org.eclipse.update.core/src/org/eclipse/update/core/IVerificationListener.java
update/org.eclipse.update.core/src/org/eclipse/update/core/IVerificationResult.java
update/org.eclipse.update.core/src/org/eclipse/update/core/IVerifier.java
update/org.eclipse.update.core/src/org/eclipse/update/core/Import.java
update/org.eclipse.update.core/src/org/eclipse/update/core/InstallHandlerEntry.java
update/org.eclipse.update.core/src/org/eclipse/update/core/InstallMonitor.java
update/org.eclipse.update.core/src/org/eclipse/update/core/JarContentReference.java
update/org.eclipse.update.core/src/org/eclipse/update/core/JarEntryContentReference.java
update/org.eclipse.update.core/src/org/eclipse/update/core/NonPluginEntry.java
update/org.eclipse.update.core/src/org/eclipse/update/core/PluginEntry.java
update/org.eclipse.update.core/src/org/eclipse/update/core/Site.java
update/org.eclipse.update.core/src/org/eclipse/update/core/SiteContentProvider.java
update/org.eclipse.update.core/src/org/eclipse/update/core/SiteManager.java
update/org.eclipse.update.core/src/org/eclipse/update/core/URLEntry.java
update/org.eclipse.update.core/src/org/eclipse/update/core/Utilities.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/core/WebInstallHandler.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/ArchiveReferenceModel.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/CategoryModel.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/ContentEntryModel.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultFeatureParser.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultSiteParser.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureModel.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureModelFactory.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureReferenceModel.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/ImportModel.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/InstallHandlerEntryModel.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/InvalidSiteTypeException.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/ModelObject.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/NonPluginEntryModel.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/PluginEntryModel.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/SiteModel.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/SiteModelFactory.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/URLEntryModel.java
update/org.eclipse.update.core/src/org/eclipse/update/core/model/package.html
update/org.eclipse.update.core/src/org/eclipse/update/core/package.html
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Assert.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/BaseSiteLocalFactory.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/ConfiguredSite.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ContentConsumer.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DefaultInstallHandler.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureContentConsumer.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableContentConsumer.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableContentProvider.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableFactory.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedContentProvider.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedFactory.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureTypeFactory.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ISiteContentConsumer.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/InstallConfiguration.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallHandlerProxy.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalFeatureReference.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/NonPluginEntryContentConsumer.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PluginEntryContentConsumer.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Policy.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteContentConsumer.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/SiteFileContentConsumer.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileContentProvider.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileFactory.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileNonPluginContentConsumer.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFilePluginContentConsumer.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/SiteTypeFactory.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURLContentProvider.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURLFactory.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/TargetFeature.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/core/URLEncoder.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/UpdateManagerReconciler.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.core/src/org/eclipse/update/internal/core/messages.properties
update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfigurationActivityModel.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfigurationPolicyModel.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfiguredSiteModel.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/model/DefaultPluginParser.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationModel.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/model/SiteLocalModel.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/model/SiteLocalParser.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/security/CertificatePair.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/security/JarVerificationResult.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/security/JarVerifier.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/security/KeyStores.java
update/org.eclipse.update.core/src/org/eclipse/update/internal/security/KeystoreHandle.java
update/org.eclipse.update.examples/.classpath
update/org.eclipse.update.examples/.cvsignore
update/org.eclipse.update.examples/.project
update/org.eclipse.update.examples/.vcm_meta
update/org.eclipse.update.examples/Scrapbook2.jpage
update/org.eclipse.update.examples/about.html
update/org.eclipse.update.examples/bin/org/eclipse/update/examples/buildzip/java.page.jpage
update/org.eclipse.update.examples/build.properties
update/org.eclipse.update.examples/plugin.properties
update/org.eclipse.update.examples/plugin.xml
update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java
update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java
update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java
update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java
update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java
update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java
update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java
update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java
update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java
update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage
update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java
update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java
update/org.eclipse.update.tests.core/.classpath
update/org.eclipse.update.tests.core/.cvsignore
update/org.eclipse.update.tests.core/.project
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/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/FTPLikeSite/site.xml
update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml
update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/site.xml
update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile
update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml
update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile
update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml
update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar
update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar
update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif
update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg
update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html
update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml
update/org.eclipse.update.tests.core/data/Site with space/plugins space/Pde_core.jar
update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar
update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar
update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml
update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar
update/org.eclipse.update.tests.core/data/Site with space/site.xml
update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile
update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml
update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar
update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar
update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar
update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar
update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar
update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif
update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg
update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html
update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml
update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip
update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml
update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml
update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar
update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip
update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml
update/org.eclipse.update.tests.core/data/features/features2.jar
update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar
update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar
update/org.eclipse.update.tests.core/data/install/features/feature3/feature.xml
update/org.eclipse.update.tests.core/data/parsertests/feature1.xml
update/org.eclipse.update.tests.core/data/parsertests/reddot.xml
update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml
update/org.eclipse.update.tests.core/data/parsertests/site.properties
update/org.eclipse.update.tests.core/data/parsertests/site.xml
update/org.eclipse.update.tests.core/data/parsertests/site2.xml
update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml
update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml
update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml
update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml
update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar
update/org.eclipse.update.tests.core/data/resources.properties
update/org.eclipse.update.tests.core/data/site.xml
update/org.eclipse.update.tests.core/data/site2/site.xml
update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/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.properties
update/org.eclipse.update.tests.core/plugin.xml
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateManagerTestCase.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/AllAPITests.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/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/configurations/AllConfigurationsTests.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/PlatformConfigurationTestCase.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgAPI.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTP.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestCategories.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestFeatureParse.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/MultipleTestLocalSite.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestDataEntryInstall.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutableInstall.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutablePackagedInstall.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestGetFeature.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstall.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestLocalSite.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/AllCoreUITests.java
update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/TestUILabel.java
update/org.eclipse.update.tests.core/test.xml
update/org.eclipse.update.tests.core/webserver/Site with space/features space/helpFeature.jar
update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar
update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif
update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg
update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html
update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml
update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar
update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar
update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar
update/org.eclipse.update.tests.core/webserver/Site with space/site.xml
update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif
update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg
update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html
update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml
update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties
update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml
update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml
update/org.eclipse.update.ui.forms/.classpath
update/org.eclipse.update.ui.forms/.cvsignore
update/org.eclipse.update.ui.forms/.project
update/org.eclipse.update.ui.forms/about.html
update/org.eclipse.update.ui.forms/build.properties
update/org.eclipse.update.ui.forms/plugin.properties
update/org.eclipse.update.ui.forms/plugin.xml
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ExpandableGroup.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormSection.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkAdapter.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkHandler.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkSettings.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormSelectionListener.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormTextListener.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormWorkbook.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IHyperlinkListener.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/NoTabsWorkbook.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ScrollableSectionForm.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionForm.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableControl.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableData.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableLayoutTest.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java
update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml
update/org.eclipse.update.ui/.vcm_meta
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 520e05a..0000000
--- a/ant/org.eclipse.ant.core/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="/org.apache.xerces"/>
- <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
- <classpathentry kind="src" path="/org.eclipse.core.boot"/>
- <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
- <classpathentry kind="lib" path="/org.apache.ant/ant.jar" sourcepath="/org.apache.ant/antsrc.zip"/>
- <classpathentry kind="src" path="src_ant"/>
- <classpathentry kind="src" path="src"/>
- <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 57b480f..0000000
--- a/ant/org.eclipse.ant.core/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-lib
diff --git a/ant/org.eclipse.ant.core/.project b/ant/org.eclipse.ant.core/.project
deleted file mode 100644
index 787040f..0000000
--- a/ant/org.eclipse.ant.core/.project
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ant.core</name>
- <comment></comment>
- <projects>
- <project>org.apache.xerces</project>
- <project>org.eclipse.core.boot</project>
- <project>org.eclipse.core.runtime</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.team.cvs.core.cvsnature</nature>
- </natures>
-</projectDescription>
diff --git a/ant/org.eclipse.ant.core/about.html b/ant/org.eclipse.ant.core/about.html
deleted file mode 100644
index e0c672a..0000000
--- a/ant/org.eclipse.ant.core/about.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<html>
-<head>
-<title>About</title>
-<style type="text/css">
-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}
-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
-code { font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup { font-family: arial,helvetica,geneva; font-size: 10px}
-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li { font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect( ); margin-top: 5mm; margin-left: 3mm}
-</style>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<table border="0" cellspacing="5" cellpadding="2" width="100%" >
- <tr>
- <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>
- </tr>
- <tr>
- <td>
-<p>3rd April, 2002</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in "Content". Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> "CPL". For purposes of the CPL, "Program" 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 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 following classes "Ant Derivative Work" are based on Ant code:</p>
-
-<ul>
- <li>CommaPatternSet contained in antsupport.jar and antsupportsrc.zip</li>
- <li>InternalAntRunner contained in antsupportlib.jar and antsupportlibsrc.zip</li>
-</ul>
-
-<p>The Ant Derivative Work is:</p>
-
-<blockquote>Copyright (c) 1999 The Apache Software Foundation. All rights reserved.</blockquote>
-
-<p>Your use of the Ant Derivative Work 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>
- "This product includes software developed by the Apache Software Foundation<br />
- (<a href="http://www.apache.org/">http://www.apache.org/</a>)."
- </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 "Ant" and "Apache Software Foundation" 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 "Apache", nor may "Apache" appear<br />
- in their name, without prior written permission of the Apache Software Foundation.<br />
-<br />
- THIS SOFTWARE IS PROVIDED "AS IS" 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/build.properties b/ant/org.eclipse.ant.core/build.properties
deleted file mode 100644
index 17737d2..0000000
--- a/ant/org.eclipse.ant.core/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-custom = true
-
-source.antsupport.jar=src/
-source.lib/antsupportlib.jar=src_ant/
-bin.includes=plugin.xml,*.jar,plugin.properties,about.html,lib/
-javadoc.packages=org.eclipse.*
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/build.xml b/ant/org.eclipse.ant.core/build.xml
deleted file mode 100644
index c583e52..0000000
--- a/ant/org.eclipse.ant.core/build.xml
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.ant.core" default="plugin.zip" basedir=".">
- <target name="initTemplate" unless="template">
- <initTemplate/>
- </target>
- <target name="init" depends="initTemplate">
- <property name="plugin" value="org.eclipse.ant.core"/>
- <property name="version" value="2.2.1"/>
- <property name="stamp" value=""/>
- <property name="os" value="win32"/>
- <property name="ws" value="win32"/>
- <property name="nl" value="en_US"/>
- <property name="arch" value="x86"/>
- </target>
-
- <target name="src.zip" depends="init">
- <property name="base" value="${basedir}/src.zip.pdetemp"/>
- <delete dir="${base}"/>
- <mkdir dir="${base}"/>
- <antcall target="src">
- <param name ="destroot" value="${base}/plugins/${plugin}_${version}"/>
- </antcall>
- <ant antfile="${template}" target="runZip">
- <property name="resultingFile" value="${basedir}/${plugin}_${version}.src.zip"/>
- <property name="targetDir" value="${base}"/>
- </ant>
- <delete dir="${base}"/>
- </target>
-
- <target name="plugin.zip" depends="bin.zip"/>
- <target name="bin.zip" depends="init">
- <property name="base" value="${basedir}/bin.zip.pdetemp"/>
- <delete dir="${base}"/>
- <mkdir dir="${base}"/>
- <antcall target="jar">
- <param name ="destroot" value="${base}/plugins/${plugin}_${version}"/>
- </antcall>
- <antcall target="bin">
- <param name ="destroot" value="${base}/plugins/${plugin}_${version}"/>
- </antcall>
- <delete>
- <fileset dir="${base}" includes="**/*.bin.log"/>
- </delete>
- <ant antfile="${template}" target="runZip">
- <property name="resultingFile" value="${basedir}/${plugin}_${version}.zip"/>
- <property name="targetDir" value="${base}"/>
- </ant>
- <delete dir="${base}"/>
- </target>
-
- <target name="log.zip" depends="init">
- <property name="base" value="${basedir}/log.zip.pdetemp"/>
- <delete dir="${base}"/>
- <mkdir dir="${base}"/>
- <antcall target="log">
- <param name ="destroot" value="${base}/plugins/${plugin}_${version}"/>
- </antcall>
- <ant antfile="${template}" target="runZip">
- <property name="resultingFile" value="${basedir}/${plugin}_${version}.log.zip"/>
- <property name="targetDir" value="${base}"/>
- </ant>
- <delete dir="${base}"/>
- </target>
-
- <target name="antsupport.jar" depends="init">
- <ant antfile="${template}" target="jar">
- <property name="mapping" value="src/"/>
- <property name="includes" value="src/"/>
- <property name="excludes" value=""/>
- <property name="dest" value="${basedir}/antsupport.jar"/>
- <property name="compilePath" value="../org.eclipse.core.runtime/bin;../org.eclipse.core.runtime/runtime.jar;../org.eclipse.core.boot/bin;../org.eclipse.core.boot/boot.jar;../org.apache.xerces/bin;../org.apache.xerces/xerces.jar;../org.apache.ant/bin;../org.apache.ant/ant.jar;../org.apache.ant/jakarta-ant-1.4.1-optional.jar"/>
- </ant>
- </target>
-
- <target name="lib/antsupportlib.jar" depends="init">
- <ant antfile="${template}" target="jar">
- <property name="mapping" value="src_ant/"/>
- <property name="includes" value="src_ant/"/>
- <property name="excludes" value=""/>
- <property name="dest" value="${basedir}/lib/antsupportlib.jar"/>
- <property name="compilePath" value="../org.eclipse.core.runtime/bin;../org.eclipse.core.runtime/runtime.jar;../org.eclipse.core.boot/bin;../org.eclipse.core.boot/boot.jar;antsupport.jar;bin/;../org.apache.xerces/bin;../org.apache.xerces/xerces.jar;../org.apache.ant/bin;../org.apache.ant/ant.jar;../org.apache.ant/jakarta-ant-1.4.1-optional.jar"/>
- </ant>
- </target>
-
- <target name="jar" depends="init,antsupport.jar,lib/antsupportlib.jar">
- </target>
-
- <target name="antsupportsrc.zip" depends="init">
- <property name="destroot" value="${basedir}"/>
- <ant antfile="${template}" target="src">
- <property name="mapping" value="src/"/>
- <property name="includes" value="src/**/*.java"/>
- <property name="excludes" value=""/>
- <property name="dest" value="${destroot}/antsupportsrc.zip"/>
- </ant>
- </target>
-
- <target name="lib/antsupportlibsrc.zip" depends="init">
- <property name="destroot" value="${basedir}"/>
- <ant antfile="${template}" target="src">
- <property name="mapping" value="src_ant/"/>
- <property name="includes" value="src_ant/**/*.java"/>
- <property name="excludes" value=""/>
- <property name="dest" value="${destroot}/lib/antsupportlibsrc.zip"/>
- </ant>
- </target>
-
- <target name="src" depends="init,antsupportsrc.zip,lib/antsupportlibsrc.zip">
- </target>
-
- <target name="bin" depends="init">
- <property name="destroot" value="${basedir}"/>
- <ant antfile="${template}" target="bin">
- <property name="includes" value="plugin.xml,*.jar,plugin.properties,about.html,lib/"/>
- <property name="excludes" value="src/,src_ant/"/>
- <property name="dest" value="${destroot}"/>
- </ant>
- </target>
-
- <target name="log" depends="init">
- <property name="destroot" value="${basedir}"/>
- <ant antfile="${template}" target="log">
- <property name="dest" value="${destroot}"/>
- </ant>
- </target>
-
- <target name="clean" depends="init">
- <ant antfile="${template}" target="clean">
- <property name="jar" value="antsupport.jar,lib/antsupportlib.jar"/>
- <property name="srczips" value="antsupportsrc.zip,lib/antsupportlibsrc.zip"/>
- </ant>
- <delete>
- <fileset dir="." includes="**/*.pdetemp"/>
- </delete>
- <delete file="${plugin}_${version}.zip"/>
- <delete file="${plugin}_${version}.src.zip"/>
- <delete file="${plugin}_${version}.doc.zip"/>
- <delete file="${plugin}_${version}.log.zip"/>
- </target>
-</project>
diff --git a/ant/org.eclipse.ant.core/buildnotes_platform-ant.html b/ant/org.eclipse.ant.core/buildnotes_platform-ant.html
deleted file mode 100644
index 62ed6bf..0000000
--- a/ant/org.eclipse.ant.core/buildnotes_platform-ant.html
+++ /dev/null
@@ -1,211 +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 20020409
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-<b><tt>org.eclipse.ant.core</tt></b> does not export <b><tt>org.apache.ant</tt></b>
-anymore. Plug-ins that need to have access to Ant classes need to require
-<b><tt>org.apache.ant</tt></b> directly.</li>
-
-<li>
-Tasks <b><tt>refreshLocal</tt></b> and <b><tt>incrementalBuild</tt></b>
-are not available anymore. Use <b><tt>eclipse.refreshLocal</tt></b> and
-<b><tt>eclipse.incrementalBuild</tt></b> instead.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-New property <b><tt>eclipse.running</tt></b> is set for scripts running
-inside Eclipse.</li>
-
-<li>
-It is now possible to extend the Ant classpath by adding new JARs, folders,
-tasks and types through a preference (Workbench->Preferences->Ant->Customize).</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F01%2F29&chfieldto=2002%2F04%2F09&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=Active&newqueryname=&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020129
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2001%2F12%2F17&chfieldto=2002%2F01%2F29&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=ant&newqueryname=&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20011218
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2001%2F12%2F11&chfieldto=2001%2F12%2F17&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=ant&newqueryname=&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20011211
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-Ant code from Apache has moved to a new plug-in called org.apache.ant..</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2001%2F11%2F27&chfieldto=2001%2F12%2F10&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=Active&newqueryname=&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20011127 (v213)
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5391">5391</a>
-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>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5331">5331</a>
-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 a8c550f..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 3ec3f86..0000000
--- a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antObjects.html
+++ /dev/null
@@ -1,56 +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>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. 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. Unfortunately,
-it is unlikely that the Ant Core plug-in would have this class on its classpath
-(or that of any of its prerequisites). To address this, clients should
-define an extension which plugs into this extension-point and maps a name
-onto a class. The Ant plug-in can then request that the declaring
-plug-in load the specified class.
-<p><b><i>Configuration Markup:</i></b>
-<p><tt> <!ELEMENT antObject EMPTY></tt>
-<br><tt> <!ATTLIST antObject</tt>
-<br><tt> name
-CDATA #REQUIRED</tt>
-<br><tt> class
-CDATA #REQUIRED</tt>
-<br><tt> library
-CDATA #REQUIRED</tt>
-<br><tt> ></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>
-
-<li>
-<b>library</b> - a path relative to the plug-in install location for the
-library containing the object</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of an object declaration:
-<p><tt> <extension point="org.eclipse.ant.core.antObject"></tt>
-<br><tt> <antObject name="com.example.Foo"
-class="com.example.Foo"/></tt>
-<br><tt> </extension></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> 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 a6da96c..0000000
--- a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTasks.html
+++ /dev/null
@@ -1,55 +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>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. The standard Ant infrastructure
-allows for the addition of arbitrary tasks. 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). To
-address this, clients should define an extension which plugs into this
-extension-point and maps a task name onto a class. The Ant plug-in
-can then request that the declaring plug-in load the specified class.
-<p><b><i>Configuration Markup:</i></b>
-<p><tt> <!ELEMENT antTask EMPTY></tt>
-<br><tt> <!ATTLIST antTask</tt>
-<br><tt> name
-CDATA #REQUIRED</tt>
-<br><tt> class
-CDATA #REQUIRED</tt>
-<br><tt> library
-CDATA #REQUIRED</tt>
-<br><tt> ></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. Generally this class must be a subclass of <tt>org.apache.tools.ant.Task</tt>.</li>
-
-<li>
-<b>library</b> - a path relative to the plug-in install location for the
-library containing the task</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of an object declaration:
-<p><tt> <extension point="org.eclipse.ant.core.antTask"></tt>
-<br><tt> <antTask name="coolTask" class="com.example.CoolTask"/></tt>
-<br><tt> </extension></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> 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 eadff6d..0000000
--- a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTypes.html
+++ /dev/null
@@ -1,55 +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>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. The standard Ant infrastructure
-allows for the addition of arbitrary datatypes. 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).
-To address this, clients should define an extension which plugs into this
-extension-point and maps a datatype name onto a class. The Ant plug-in
-can then request that the declaring plug-in load the specified class.
-<p><b><i>Configuration Markup:</i></b>
-<p><tt> <!ELEMENT antType EMPTY></tt>
-<br><tt> <!ATTLIST antType</tt>
-<br><tt> name
-CDATA #REQUIRED</tt>
-<br><tt> class
-CDATA #REQUIRED</tt>
-<br><tt> library
-CDATA #REQUIRED</tt>
-<br><tt> ></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. Generally this class must be a subclass of <tt>org.apache.tools.ant.types.DataType</tt>.</li>
-
-<li>
-<b>library</b> - a path relative to the plug-in install location for the
-library containing the type</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of an object declaration:
-<p><tt> <extension point="org.eclipse.ant.core.antType"></tt>
-<br><tt> <antTask name="coolType" class="com.example.CoolType"/></tt>
-<br><tt> </extension></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> 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/newpde_build.xml b/ant/org.eclipse.ant.core/newpde_build.xml
deleted file mode 100644
index b3faa09..0000000
--- a/ant/org.eclipse.ant.core/newpde_build.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.ant.core" default="build.jars" basedir=".">
-
- <target name="initTemplate" unless="template">
- <initTemplate/>
- </target>
-
- <target name="init" depends="initTemplate, properties">
- </target>
-
- <target name="build.update.jar" depends="init">
- <property name="base" value="${basedir}/bin.zip.pdetemp"/>
- <delete dir="${base}"/>
- <mkdir dir="${base}"/>
- <antcall target="build.jars"/>
- <antcall target="gather.bin.parts">
- <param name="destination" value="${base}/"/>
- </antcall>
- <delete>
- <fileset dir="${base}" includes="**/*.bin.log"/>
- </delete>
- <zip zipfile="${basedir}/${plugin}_${version}.jar" basedir="${base}/plugins/${plugin}"/>
- <delete dir="${base}"/>
- </target>
-
- <target name="gather.bin.parts" depends="init" if="destination">
- <ant antfile="${template}" target="includesExcludesCopy">
- <property name="srcdir" value="${basedir}"/>
- <property name="dest" value="${destination}/plugins/${plugin}"/>
- <property name="excludes" value="${bin.excludes}"/>
- <property name="includes" value="${bin.includes}"/>
- </ant>
- </target>
-
- <target name="antsupport.jar" depends="init">
- <ant antfile="${template}" target="jar">
- <property name="dest" value="${basedir}/antsupport.jar"/>
- <property name="srcdir" value="${basedir}"/>
- <property name="includes" value="src/"/>
- <property name="excludes" value=""/>
- <property name="mapping" value="src/"/>
- <property name="compilePath" value="${location.org.eclipse.core.runtime}/bin;${location.org.eclipse.core.runtime}/runtime.jar;${location.org.eclipse.core.boot}/bin;${location.org.eclipse.core.boot}/boot.jar;${location.org.eclipse.ant.core}/bin;${location.org.eclipse.ant.core}/antsupport.jar;${location.org.apache.xerces}/bin;${location.org.apache.xerces}/xerces.jar"/>
- </ant>
- </target>
-
- <target name="lib/antsupportlib.jar" depends="init">
- <ant antfile="${template}" target="jar">
- <property name="dest" value="${basedir}/lib/antsupportlib.jar"/>
- <property name="srcdir" value="${basedir}"/>
- <property name="includes" value="src_ant/"/>
- <property name="excludes" value=""/>
- <property name="mapping" value="src_ant/"/>
- <property name="compilePath" value="${location.org.eclipse.core.runtime}/bin;${location.org.eclipse.core.runtime}/runtime.jar;${location.org.eclipse.core.boot}/bin;${location.org.eclipse.core.boot}/boot.jar;${location.org.eclipse.ant.core}/bin;${location.org.eclipse.ant.core}/antsupport.jar;${location.org.apache.xerces}/bin;${location.org.apache.xerces}/xerces.jar;${location.org.apache.ant}/ant.jar"/>
- </ant>
- </target>
-
- <target name="build.jars" depends="init,antsupport.jar,lib/antsupportlib.jar">
- </target>
-
- <target name="build.zips" depends="init">
- </target>
-
- <target name="gather.sources" depends="init" if="destination">
- <mkdir dir="${destination}/plugins/${plugin}"/>
- <copy file="${basedir}/antsupportsrc.zip" todir="${destination}/plugins/${plugin}"/>
- <mkdir dir="${destination}/plugins/${plugin}/lib"/>
- <copy file="${basedir}/lib/antsupportlibsrc.zip" todir="${destination}/plugins/${plugin}/lib"/>
- </target>
-
- <target name="antsupportsrc.zip" depends="init">
- <ant antfile="${template}" target="src">
- <property name="srcdir" value="${basedir}"/>
- <property name="mapping" value="src/"/>
- <property name="dest" value="${basedir}/antsupportsrc.zip"/>
- <property name="excludes" value=""/>
- <property name="includes" value="src/**/*.java"/>
- </ant>
- </target>
-
- <target name="lib/antsupportlibsrc.zip" depends="init">
- <ant antfile="${template}" target="src">
- <property name="srcdir" value="${basedir}"/>
- <property name="mapping" value="src_ant/"/>
- <property name="dest" value="${basedir}/lib/antsupportlibsrc.zip"/>
- <property name="excludes" value=""/>
- <property name="includes" value="src_ant/**/*.java"/>
- </ant>
- </target>
-
- <target name="build.sources" depends="init,antsupportsrc.zip,lib/antsupportlibsrc.zip">
- </target>
-
- <target name="gather.logs" depends="init">
- <mkdir dir="${destination}/plugins/${plugin}"/>
- <copy file="${basedir}/antsupport.jar.bin.log" todir="${destination}/plugins/${plugin}"/>
- <mkdir dir="${destination}/plugins/${plugin}/lib"/>
- <copy file="${basedir}/lib/antsupportlib.jar.bin.log" todir="${destination}/plugins/${plugin}/lib"/>
- </target>
-
- <target name="clean" depends="init">
- <delete>
- <fileset dir="${basedir}" includes="*.bin"/>
- <fileset dir="${basedir}" includes="**/*.log"/>
- <fileset dir="${basedir}" includes="antsupport.jar,lib/antsupportlib.jar"/>
- <fileset dir="${basedir}" includes="antsupportsrc.zip,lib/antsupportlibsrc.zip"/>
- <fileset dir="${basedir}" includes="**/*.pdetemp"/>
- </delete>
- <delete file="${plugin}_${version}.jar"/>
- <delete file="${plugin}_${version}.src.zip"/>
- <delete file="${plugin}_${version}.log.zip"/>
- </target>
-
- <target name="properties">
- <property name="plugin" value="org.eclipse.ant.core"/>
- <property name="version" value="2.2.1"/>
- <pluginLocation plugin="org.eclipse.core.boot" property="location.org.eclipse.core.boot"/>
- <pluginLocation plugin="org.eclipse.core.runtime" property="location.org.eclipse.core.runtime"/>
- <pluginLocation plugin="org.apache.xerces" property="location.org.apache.xerces"/>
- <pluginLocation plugin="org.apache.ant" property="location.org.apache.ant"/>
- <pluginLocation plugin="org.eclipse.ant.core" property="location.org.eclipse.ant.core"/>
- <property name="bin.includes" value="plugin.xml,*.jar,plugin.properties,about.html,lib/"/>
- <property name="bin.excludes" value="src/,src_ant/"/>
- </target>
-
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/plugin.properties b/ant/org.eclipse.ant.core/plugin.properties
deleted file mode 100644
index 172c8da..0000000
--- a/ant/org.eclipse.ant.core/plugin.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-pluginName = Ant Build Tool Core
-providerName = Object Technology International, Inc.
-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 b1edf9c..0000000
--- a/ant/org.eclipse.ant.core/plugin.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- id="org.eclipse.ant.core"
- name="%pluginName"
- version="2.3"
- provider-name="%providerName"
- class="org.eclipse.ant.core.AntCorePlugin">
-
- <requires>
- <import plugin="org.apache.xerces"/>
- </requires>
-
- <runtime>
- <library name="antsupport.jar">
- <export name="*"/>
- </library>
- </runtime>
-
- <extension-point id="antObjects" name="%objectsName"/>
- <extension-point id="antTasks" name="%tasksName"/>
- <extension-point id="antTypes" name="%typesName"/>
-
- <!-- Applications -->
- <extension
- id="antRunner"
- point="org.eclipse.core.runtime.applications">
- <application>
- <run
- class="org.eclipse.ant.core.AntRunner">
- </run>
- </application>
- </extension>
-
- <!-- Objects -->
- <extension point="org.eclipse.ant.core.antObjects">
- <antObject
- name="org.eclipse.ant.internal.core.ant.InternalAntRunner"
- class="org.eclipse.ant.internal.core.ant.InternalAntRunner"
- library="lib/antsupportlib.jar">
- </antObject>
- </extension>
-
- <!-- Types -->
- <extension point="org.eclipse.ant.core.antTypes">
- <antType
- name="commapatternset"
- class="org.eclipse.ant.internal.core.ant.CommaPatternSet"
- library="lib/antsupportlib.jar">
- </antType>
- <antType
- name="eclipse.commapatternset"
- class="org.eclipse.ant.internal.core.ant.CommaPatternSet"
- library="lib/antsupportlib.jar">
- </antType>
- </extension>
-</plugin>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePlugin.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePlugin.java
deleted file mode 100644
index cbef820..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePlugin.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ant.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.ant.internal.core.AntCorePreferences;
-import org.eclipse.ant.internal.core.IAntCoreConstants;
-import org.eclipse.core.runtime.*;
-
-public class AntCorePlugin extends Plugin implements IAntCoreConstants {
-
- /**
- * The single instance of this plug-in runtime class.
- */
- private static AntCorePlugin plugin;
-
- /**
- * Table of Ant tasks (IConfigurationElement) added through the tasks extension point
- */
- private Map taskExtensions;
-
- /**
- * Table of Ant objects (IConfigurationElement) added through the objects extension point
- */
- private Map objectExtensions;
-
- /**
- * Table of Ant ypes (IConfigurationElement) added through the types extension point
- */
- private Map typeExtensions;
-
- /**
- *
- */
- private AntCorePreferences preferences;
-
- /**
- * Unique identifier constant (value <code>"org.eclipse.ant.core"</code>)
- * for the Ant Core plug-in.
- */
- public static final String PI_ANTCORE= "org.eclipse.ant.core";
-
- /**
- * Simple identifier constant (value <code>"antTasks"</code>)
- * for the Ant tasks extension point.
- */
- public static final String PT_TASKS = "antTasks";
-
- /**
- * Simple identifier constant (value <code>"antObjects"</code>)
- * for the Ant tasks extension point.
- */
- public static final String PT_OBJECTS = "antObjects";
-
- /**
- * Simple identifier constant (value <code>"antTypes"</code>)
- * for the Ant tasks extension point.
- */
- public static final String PT_TYPES = "antTypes";
-
- /**
- * 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>"name"</code>)
- * of a tag that appears in Ant extensions.
- */
- public static final String NAME = "name";
-
- /**
- * Simple identifier constant (value <code>"library"</code>)
- * of a tag that appears in Ant extensions.
- */
- public static final String LIBRARY = "library";
-
-public AntCorePlugin(IPluginDescriptor descriptor) {
- super(descriptor);
- plugin = this;
-}
-
-public void startup() throws CoreException {
- taskExtensions = extractExtensions(PT_TASKS);
- objectExtensions = extractExtensions(PT_OBJECTS);
- typeExtensions = extractExtensions(PT_TYPES);
-}
-
-public void shutdown() throws CoreException {
- if (preferences == null)
- return;
- preferences.updatePluginPreferences();
- savePluginPreferences();
-}
-
-protected Map extractExtensions(String point) {
- IExtensionPoint extensionPoint = getDescriptor().getExtensionPoint(point);
- if (extensionPoint == null)
- return null;
- IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();
- Map result = new HashMap(extensions.length);
- for (int i = 0; i < extensions.length; i++) {
- String name = extensions[i].getAttribute(NAME);
- result.put(name, extensions[i]);
- }
- return result;
-}
-
-public AntCorePreferences getPreferences() {
- if (preferences == null)
- preferences = new AntCorePreferences(taskExtensions, objectExtensions, typeExtensions);
- return preferences;
-}
-
-/**
- * Returns this plug-in.
- *
- * @return the single instance of this plug-in runtime class
- */
-public static AntCorePlugin getPlugin() {
- return plugin;
-}
-
-}
\ No newline at end of file
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 dac4e8c..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.eclipse.ant.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.ant.internal.core.*;
-import org.eclipse.ant.internal.core.AntClassLoader;
-import org.eclipse.ant.internal.core.AntCorePreferences;
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.runtime.*;
-/**
- * Entry point for running Ant scripts inside Eclipse.
- */
-public class AntRunner implements IPlatformRunnable, IAntCoreConstants {
-
- protected String buildFileLocation = DEFAULT_BUILD_FILENAME;
- protected List buildListeners;
- protected Vector targets;
- protected Map userProperties;
- protected int messageOutputLevel = 2; // Project.MSG_INFO
- protected String buildLoggerClassName;
- protected String arguments;
-
-public AntRunner() {
- buildListeners = new ArrayList(5);
-}
-
-protected ClassLoader getClassLoader() {
- AntCorePreferences preferences = AntCorePlugin.getPlugin().getPreferences();
- URL[] urls = preferences.getURLs();
- ClassLoader[] pluginLoaders = preferences.getPluginClassLoaders();
- return new AntClassLoader(urls, pluginLoaders, null);
-}
-
-/**
- * Sets the buildFileLocation.
- *
- * @param buildFileLocation the file system location of the build file
- */
-public void setBuildFileLocation(String buildFileLocation) {
- if (buildFileLocation == null)
- this.buildFileLocation = DEFAULT_BUILD_FILENAME;
- else
- this.buildFileLocation = buildFileLocation;
-}
-
-/**
- *
- *
- * @param
- */
-public void setMessageOutputLevel(int level) {
- this.messageOutputLevel = level;
-}
-
-/**
- *
- */
-public void setArguments(String arguments) {
- this.arguments = arguments;
-}
-
-/**
- * Sets the executionTargets in the order they need to run.
- *
- */
-public void setExecutionTargets(String[] executionTargets) {
- targets = new Vector(10);
- for (int i = 0; i < executionTargets.length; i++)
- targets.add(executionTargets[i]);
-}
-
-/**
- * Adds a build listener.
- *
- * @param buildListener a build listener
- */
-public void addBuildListener(String className) {
- if (className == null)
- return;
- buildListeners.add(className);
-}
-
-/**
- * Adds a build logger.
- *
- * @param className a BuildLogger class name
- */
-public void addBuildLogger(String className) {
- this.buildLoggerClassName = className;
-}
-
-/**
- * Adds user properties.
- */
-public void addUserProperties(Map properties) {
- this.userProperties = properties;
-}
-
-/**
- * Runs the build script.
- */
-public void run() throws CoreException {
- try {
- ClassLoader loader = getClassLoader();
- Class classInternalAntRunner = loader.loadClass("org.eclipse.ant.internal.core.ant.InternalAntRunner");
- Object runner = classInternalAntRunner.newInstance();
- // set build file
- Method setBuildFileLocation = classInternalAntRunner.getMethod("setBuildFileLocation", new Class[] {String.class});
- setBuildFileLocation.invoke(runner, new Object[] {buildFileLocation});
- // add listeners
- Method addBuildListeners = classInternalAntRunner.getMethod("addBuildListeners", new Class[] {List.class});
- addBuildListeners.invoke(runner, new Object[] {buildListeners});
- // add build logger
- if (buildLoggerClassName != null) {
- Method addBuildLogger = classInternalAntRunner.getMethod("addBuildLogger", new Class[] {String.class});
- addBuildLogger.invoke(runner, new Object[] {buildLoggerClassName});
- }
- // add properties
- Method addUserProperties = classInternalAntRunner.getMethod("addUserProperties", new Class[] {Map.class});
- addUserProperties.invoke(runner, new Object[] {userProperties});
- // set message output level
- Method setMessageOutputLevel = classInternalAntRunner.getMethod("setMessageOutputLevel", new Class[] {int.class});
- setMessageOutputLevel.invoke(runner, new Object[] {new Integer(messageOutputLevel)});
- // set execution targets
- if (targets != null) {
- Method setExecutionTargets = classInternalAntRunner.getMethod("setExecutionTargets", new Class[] {Vector.class});
- setExecutionTargets.invoke(runner, new Object[] {targets});
- }
- // set extra arguments
- if (arguments != null) {
- Method setArguments = classInternalAntRunner.getMethod("setArguments", new Class[] {String.class});
- setArguments.invoke(runner, new Object[] {arguments});
- }
- // run
- Method run = classInternalAntRunner.getMethod("run", null);
- run.invoke(runner, null);
- } catch (InvocationTargetException e) {
- Throwable realException = e.getTargetException();
- throw new CoreException(new Status(IStatus.ERROR, PI_ANTCORE, ERROR_RUNNING_SCRIPT, realException.getMessage(), realException));
- } catch (Exception e) {
- throw new CoreException(new Status(IStatus.ERROR, PI_ANTCORE, ERROR_RUNNING_SCRIPT, e.getMessage(), e));
- }
-}
-
-/**
- * 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 {
- ClassLoader loader = getClassLoader();
- Class classInternalAntRunner = loader.loadClass("org.eclipse.ant.internal.core.ant.InternalAntRunner");
- Object runner = classInternalAntRunner.newInstance();
- Method run = classInternalAntRunner.getMethod("run", new Class[] {Object.class});
- run.invoke(runner, new Object[] {argArray});
- return null;
-}
-}
\ 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 16e0260..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.core/src/org/eclipse/ant/internal/core/AntClassLoader.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntClassLoader.java
deleted file mode 100644
index 9748140..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntClassLoader.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ant.internal.core;
-
-import java.net.URL;
-import java.net.URLClassLoader;
-
-public class AntClassLoader extends URLClassLoader {
-
- protected ClassLoader[] pluginLoaders;
-
-public AntClassLoader(URL[] urls, ClassLoader[] pluginLoaders, ClassLoader parent) {
- super(urls, parent);
- this.pluginLoaders = pluginLoaders;
-}
-
-public Class loadClass(String name) {
- Class result = loadClassParent(name);
- if (result == null)
- result = loadClassURLs(name);
- if (result == null)
- result = loadClassPlugins(name);
- return result;
-}
-
-protected Class loadClassParent(String name) {
- try {
- ClassLoader parent = getParent();
- if (parent != null)
- return parent.loadClass(name);
- } catch (ClassNotFoundException e) {
- }
- return null;
-}
-
-protected Class loadClassURLs(String name) {
- try {
- return super.loadClass(name);
- } catch (ClassNotFoundException e) {
- }
- return null;
-}
-
-protected Class loadClassPlugins(String name) {
- Class result = null;
- if (pluginLoaders != null) {
- for (int i = 0; (i < pluginLoaders.length) && (result == null); i++) {
- try {
- result = pluginLoaders[i].loadClass(name);
- } catch (ClassNotFoundException e) {
- }
- }
- }
- return result;
-}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntCorePreferences.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntCorePreferences.java
deleted file mode 100644
index 92cb780..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntCorePreferences.java
+++ /dev/null
@@ -1,408 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ant.internal.core;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.core.runtime.*;
-/**
- *
- */
-public class AntCorePreferences implements IAntCoreConstants {
-
- protected List defaultTasks;
- protected List defaultTypes;
- protected List defaultURLs;
- protected Task[] customTasks;
- protected Type[] customTypes;
- protected URL[] customURLs;
- protected Map defaultObjects;
- protected List pluginClassLoaders;
-
-public AntCorePreferences(Map defaultTasks, Map defaultObjects, Map defaultTypes) {
- initializePluginClassLoaders();
- defaultURLs = new ArrayList(20);
- this.defaultTasks = computeDefaultTasks(defaultTasks);
- this.defaultTypes = computeDefaultTypes(defaultTypes);
- this.defaultObjects = computeDefaultObjects(defaultObjects);
- restoreCustomObjects();
-}
-
-protected void restoreCustomObjects() {
- Preferences prefs = AntCorePlugin.getPlugin().getPluginPreferences();
- // tasks
- String tasks = prefs.getString(PREFERENCE_TASKS);
- if (tasks.equals(""))
- customTasks = new Task[0];
- else
- customTasks = extractTasks(prefs, getArrayFromString(tasks));
- // types
- String types = prefs.getString(PREFERENCE_TYPES);
- if (types.equals(""))
- customTypes = new Type[0];
- else
- customTypes = extractTypes(prefs, getArrayFromString(types));
- // urls
- String urls = prefs.getString(PREFERENCE_URLS);
- if (urls.equals(""))
- customURLs = getDefaultCustomURLs();
- else
- customURLs = extractURLs(prefs, getArrayFromString(urls));
-}
-
-protected Task[] extractTasks(Preferences prefs, String[] tasks) {
- List result = new ArrayList(10);
- for (int i = 0; i < tasks.length; i++) {
- try {
- String taskName = tasks[i];
- String[] values = getArrayFromString(prefs.getString(PREFIX_TASK + taskName));
- Task task = new Task();
- task.setTaskName(taskName);
- task.setClassName(values[0]);
- task.setLibrary(new URL(values[1]));
- result.add(task);
- } catch (MalformedURLException e) {
- // FIXME: add error code and better message
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, -1, e.getMessage(), e);
- AntCorePlugin.getPlugin().getLog().log(status);
- }
- }
- return (Task[]) result.toArray(new Task[result.size()]);
-}
-
-protected Type[] extractTypes(Preferences prefs, String[] types) {
- List result = new ArrayList(10);
- for (int i = 0; i < types.length; i++) {
- try {
- String typeName = types[i];
- String[] values = getArrayFromString(prefs.getString(PREFIX_TYPE + typeName));
- Type type = new Type();
- type.setTypeName(typeName);
- type.setClassName(values[0]);
- type.setLibrary(new URL(values[1]));
- result.add(type);
- } catch (MalformedURLException e) {
- // FIXME: add error code and better message
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, -1, e.getMessage(), e);
- AntCorePlugin.getPlugin().getLog().log(status);
- }
- }
- return (Type[]) result.toArray(new Type[result.size()]);
-}
-
-protected URL[] extractURLs(Preferences prefs, String[] urls) {
- List result = new ArrayList(10);
- for (int i = 0; i < urls.length; i++) {
- try {
- result.add(new URL(urls[i]));
- } catch (MalformedURLException e) {
- // FIXME: add error code and better message
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, -1, e.getMessage(), e);
- AntCorePlugin.getPlugin().getLog().log(status);
- }
- }
- return (URL[]) result.toArray(new URL[result.size()]);
-}
-
-
-
-
-public URL[] getDefaultCustomURLs() {
- List result = new ArrayList(10);
- IPluginDescriptor descriptor = Platform.getPlugin("org.apache.ant").getDescriptor();
- addLibraries(descriptor, result);
- descriptor = Platform.getPlugin("org.apache.xerces").getDescriptor();
- addLibraries(descriptor, result);
- addToolsJar(result);
- return (URL[]) result.toArray(new URL[result.size()]);
-}
-
-protected List computeDefaultTasks(Map tasks) {
- List result = new ArrayList(10);
- for (Iterator iterator = tasks.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- Task task = new Task();
- task.setTaskName((String) entry.getKey());
- IConfigurationElement element = (IConfigurationElement) entry.getValue();
- task.setClassName(element.getAttribute(AntCorePlugin.CLASS));
- String library = element.getAttribute(AntCorePlugin.LIBRARY);
- if (library == null) {
- String message = "Library not specified for task: " + task.getTaskName(); // FIXME add to message.properties
- // FIXME: add error code
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, -1, message, null);
- AntCorePlugin.getPlugin().getLog().log(status);
- continue;
- }
- IPluginDescriptor descriptor = element.getDeclaringExtension().getDeclaringPluginDescriptor();
- try {
- URL url = Platform.asLocalURL(new URL(descriptor.getInstallURL(), library));
- task.setLibrary(url);
- defaultURLs.add(url);
- } catch (Exception e) {
- // FIXME: add error code
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, -1, e.getMessage(), e);
- AntCorePlugin.getPlugin().getLog().log(status);
- continue;
- }
- result.add(task);
- addPluginClassLoader(descriptor.getPluginClassLoader());
- }
- return result;
-}
-
-protected List computeDefaultTypes(Map types) {
- List result = new ArrayList(10);
- for (Iterator iterator = types.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- Type type = new Type();
- type.setTypeName((String) entry.getKey());
- IConfigurationElement element = (IConfigurationElement) entry.getValue();
- type.setClassName(element.getAttribute(AntCorePlugin.CLASS));
- String library = element.getAttribute(AntCorePlugin.LIBRARY);
- if (library == null) {
- String message = "Library not specified for type: " + type.getTypeName(); // FIXME add to message.properties
- // FIXME: add error code
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, -1, message, null);
- AntCorePlugin.getPlugin().getLog().log(status);
- continue;
- }
- IPluginDescriptor descriptor = element.getDeclaringExtension().getDeclaringPluginDescriptor();
- try {
- URL url = Platform.asLocalURL(new URL(descriptor.getInstallURL(), library));
- type.setLibrary(url);
- defaultURLs.add(url);
- } catch (Exception e) {
- // FIXME: add error code
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, -1, e.getMessage(), e);
- AntCorePlugin.getPlugin().getLog().log(status);
- continue;
- }
- result.add(type);
- addPluginClassLoader(descriptor.getPluginClassLoader());
- }
- return result;
-}
-
-/**
- * It returns the same objects as passed in the arguments. The only difference
- * is that it does extract other useful information.
- */
-protected Map computeDefaultObjects(Map objects) {
- for (Iterator iterator = objects.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- IConfigurationElement element = (IConfigurationElement) entry.getValue();
- String library = element.getAttribute(AntCorePlugin.LIBRARY);
- if (library == null) {
- String message = "Library not specified for object: " + entry.getKey(); // FIXME add to message.properties
- // FIXME: add error code
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, -1, message, null);
- AntCorePlugin.getPlugin().getLog().log(status);
- continue;
- }
- IPluginDescriptor descriptor = element.getDeclaringExtension().getDeclaringPluginDescriptor();
- try {
- URL url = Platform.asLocalURL(new URL(descriptor.getInstallURL(), library));
- defaultURLs.add(url);
- } catch (Exception e) {
- // FIXME: add error code
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, -1, e.getMessage(), e);
- AntCorePlugin.getPlugin().getLog().log(status);
- continue;
- }
- addPluginClassLoader(descriptor.getPluginClassLoader());
- }
- return objects;
-}
-
-/**
- * Ant running through the command line tries to find tools.jar to help the user. Try
- * emulating the same behaviour here.
- */
-protected void addToolsJar(List destination) {
- IPath path = new Path(System.getProperty("java.home"));
- if (path.lastSegment().equalsIgnoreCase("jre"))
- path = path.removeLastSegments(1);
- path = path.append("lib").append("tools.jar");
- File tools = path.toFile();
- if (!tools.exists())
- return;
- try {
- destination.add(tools.toURL());
- } catch (MalformedURLException e) {
- // FIXME: add error code
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, -1, e.getMessage(), e);
- AntCorePlugin.getPlugin().getLog().log(status);
- }
-}
-
-protected void addLibraries(IPluginDescriptor source, List destination) {
- URL root = source.getInstallURL();
- ILibrary[] libraries = source.getRuntimeLibraries();
- for (int i = 0; i < libraries.length; i++) {
- try {
- URL url = new URL(root, libraries[i].getPath().toString());
- destination.add(Platform.asLocalURL(url));
- } catch (Exception e) {
- // FIXME: add error code and better message
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, -1, e.getMessage(), e);
- AntCorePlugin.getPlugin().getLog().log(status);
- continue;
- }
- }
-}
-
-
-
-protected void addPluginClassLoader(ClassLoader loader) {
- if (!pluginClassLoaders.contains(loader))
- pluginClassLoaders.add(loader);
-}
-
-
-
-public URL[] getURLs() {
- List result = new ArrayList(10);
- if (defaultURLs != null)
- result.addAll(defaultURLs);
- if (customURLs != null)
- result.addAll(Arrays.asList(customURLs));
- return (URL[]) result.toArray(new URL[result.size()]);
-}
-
-public ClassLoader[] getPluginClassLoaders() {
- return (ClassLoader[]) pluginClassLoaders.toArray(new ClassLoader[pluginClassLoaders.size()]);
-}
-
-protected void initializePluginClassLoaders() {
- pluginClassLoaders = new ArrayList(20);
- // ant.core should always be present
- pluginClassLoaders.add(Platform.getPlugin(AntCorePlugin.PI_ANTCORE).getDescriptor().getPluginClassLoader());
-}
-
-
-/**
- * Returns default + custom tasks.
- */
-public List getTasks() {
- List result = new ArrayList(10);
- if (defaultTasks != null)
- result.addAll(defaultTasks);
- if (customTasks != null)
- result.addAll(Arrays.asList(customTasks));
- return result;
-}
-
-public Task[] getCustomTasks() {
- return customTasks;
-}
-
-public Type[] getCustomTypes() {
- return customTypes;
-}
-
-public URL[] getCustomURLs() {
- return customURLs;
-}
-
-public void setCustomTasks(Task[] tasks) {
- this.customTasks = tasks;
-}
-
-public void setCustomTypes(Type[] types) {
- this.customTypes = types;
-}
-
-public void setCustomURLs(URL[] urls) {
- this.customURLs = urls;
-}
-
-/**
- * Returns default + custom types.
- */
-public List getTypes() {
- List result = new ArrayList(10);
- if (defaultTypes != null)
- result.addAll(defaultTypes);
- if (customTypes != null)
- result.addAll(Arrays.asList(customTypes));
- return result;
-}
-
-/**
- * Convert a list of tokens into an array. The list separator has to be specified.
- */
-public static String[] getArrayFromString(String list, String separator) {
- if (list == null || list.trim().equals(""))
- return new String[0];
- ArrayList result = new ArrayList();
- for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
- String token = tokens.nextToken().trim();
- if (!token.equals(""))
- result.add(token);
- }
- return (String[]) result.toArray(new String[result.size()]);
-}
-
-/**
- * convert a list of comma-separated tokens into an array
- */
-public static String[] getArrayFromString(String list) {
- return getArrayFromString(list, ",");
-}
-
-public void updatePluginPreferences() {
- Preferences prefs = AntCorePlugin.getPlugin().getPluginPreferences();
- updateTasks(prefs);
- updateTypes(prefs);
- updateURLs(prefs);
-}
-
-protected void updateTasks(Preferences prefs) {
- if (customTasks.length == 0) {
- prefs.setValue(PREFERENCE_TASKS, "");
- return;
- }
- StringBuffer tasks = new StringBuffer();
- for (int i = 0; i < customTasks.length; i++) {
- tasks.append(customTasks[i].getTaskName());
- tasks.append(",");
- prefs.setValue(PREFIX_TASK + customTasks[i].getTaskName(), customTasks[i].getClassName() + "," + customTasks[i].getLibrary().toExternalForm());
- }
- prefs.setValue(PREFERENCE_TASKS, tasks.toString());
-}
-
-protected void updateTypes(Preferences prefs) {
- if (customTypes.length == 0) {
- prefs.setValue(PREFERENCE_TYPES, "");
- return;
- }
- StringBuffer types = new StringBuffer();
- for (int i = 0; i < customTypes.length; i++) {
- types.append(customTypes[i].getTypeName());
- types.append(",");
- prefs.setValue(PREFIX_TYPE + customTypes[i].getTypeName(), customTypes[i].getClassName() + "," + customTypes[i].getLibrary().toExternalForm());
- }
- prefs.setValue(PREFERENCE_TYPES, types.toString());
-}
-
-protected void updateURLs(Preferences prefs) {
- StringBuffer urls = new StringBuffer();
- for (int i = 0; i < customURLs.length; i++) {
- urls.append(customURLs[i].toExternalForm());
- urls.append(",");
- }
- prefs.setValue(PREFERENCE_URLS, urls.toString());
-}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/IAntCoreConstants.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/IAntCoreConstants.java
deleted file mode 100644
index d0c966b..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/IAntCoreConstants.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ant.internal.core;
-
-/**
- * Common constants.
- */
-public interface IAntCoreConstants {
-
- // default values
- public static final String PI_ANTCORE = "org.eclipse.ant.core";
- public static final String DEFAULT_BUILD_FILENAME = "build.xml";
-
- // error codes
- public static final int ERROR_COULD_NOT_CONFIGURE_PROJECT = 1;
- public static final int ERROR_RUNNING_SCRIPT = 2;
-
- // preferences
- public static final String PREFERENCE_TASKS = "tasks";
- public static final String PREFERENCE_TYPES = "types";
- public static final String PREFERENCE_URLS = "urls";
- public static final String PREFIX_TASK = "task.";
- public static final String PREFIX_TYPE = "type.";
- public static final String PREFIX_URL = "url.";
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Policy.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Policy.java
deleted file mode 100644
index 0a5faea..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Policy.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Task.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Task.java
deleted file mode 100644
index 9d09cda..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Task.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ant.internal.core;
-
-import java.net.URL;
-
-public class Task {
-
- protected String taskName;
- protected String className;
- protected URL library;
-
-/**
- * Gets the className.
- * @return Returns a String
- */
-public String getClassName() {
- return className;
-}
-
-/**
- * Sets the className.
- * @param className The className to set
- */
-public void setClassName(String className) {
- this.className = className;
-}
-
-/**
- * Gets the library.
- * @return Returns a URL
- */
-public URL getLibrary() {
- return library;
-}
-
-/**
- * Sets the library.
- * @param library The library to set
- */
-public void setLibrary(URL library) {
- this.library = library;
-}
-
-/**
- * Gets the taskName.
- * @return Returns a String
- */
-public String getTaskName() {
- return taskName;
-}
-
-/**
- * Sets the taskName.
- * @param taskName The taskName to set
- */
-public void setTaskName(String taskName) {
- this.taskName = taskName;
-}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Type.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Type.java
deleted file mode 100644
index 3ba3664..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/Type.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ant.internal.core;
-
-import java.net.URL;
-
-public class Type {
-
- protected String typeName;
- protected String className;
- protected URL library;
-
-/**
- * Gets the className.
- * @return Returns a String
- */
-public String getClassName() {
- return className;
-}
-
-/**
- * Sets the className.
- * @param className The className to set
- */
-public void setClassName(String className) {
- this.className = className;
-}
-
-/**
- * Gets the library.
- * @return Returns a URL
- */
-public URL getLibrary() {
- return library;
-}
-
-/**
- * Sets the library.
- * @param library The library to set
- */
-public void setLibrary(URL library) {
- this.library = library;
-}
-
-/**
- * Gets the taskName.
- * @return Returns a String
- */
-public String getTypeName() {
- return typeName;
-}
-
-/**
- * Sets the taskName.
- * @param taskName The taskName to set
- */
-public void setTypeName(String taskName) {
- this.typeName = taskName;
-}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/messages.properties b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/messages.properties
deleted file mode 100644
index 65d88d6..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/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_ant/org/eclipse/ant/internal/core/ant/CommaPatternSet.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/CommaPatternSet.java
deleted file mode 100644
index 2b952bb..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/CommaPatternSet.java
+++ /dev/null
@@ -1,426 +0,0 @@
-package org.eclipse.ant.internal.core.ant;
-/*
- * (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 java.io.*;
-import java.util.*;
-
-import org.apache.tools.ant.*;
-import org.apache.tools.ant.types.PatternSet;
-import org.apache.tools.ant.types.Reference;
-import org.apache.tools.ant.types.PatternSet.NameEntry;
-import org.eclipse.ant.internal.core.Policy;
-
-/**
- * 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_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
deleted file mode 100644
index 9e1463e..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
+++ /dev/null
@@ -1,724 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ant.internal.core.ant;
-
-/*
- * 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 java.io.*;
-import java.util.*;
-
-import org.apache.tools.ant.*;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.internal.core.*;
-import org.eclipse.ant.internal.core.Policy;
-import org.eclipse.ant.internal.core.Task;
-import org.eclipse.core.runtime.IConfigurationElement;
-/**
- * Eclipse application entry point into Ant. Derived from the original Ant Main class
- * to ensure that the functionality is 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 InternalAntRunner {
-
- /**
- *
- */
- protected List buildListeners;
-
- /**
- *
- */
- protected String buildFileLocation;
-
- /** Targets we want to run. */
- protected Vector targets;
-
- /**
- *
- */
- protected Map userProperties;
-
- /** Our current message output status. Follows Project.MSG_XXX */
- protected int messageOutputLevel = Project.MSG_INFO;
-
- /** Indicates whether output to the log is to be unadorned. */
- protected boolean emacsMode = false;
-
- /** Indicates we should only parse and display the project help information */
- protected boolean projectHelp = false;
-
- /** 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 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.
- */
- protected String loggerClassname = null;
-
- /** Extra arguments to be parsed as command line arguments. */
- protected String extraArguments = null;
-
- // properties
- private static final String PROPERTY_ECLIPSE_RUNNING = "eclipse.running";
-
-public InternalAntRunner() {
- buildListeners = new ArrayList(5);
-}
-
-/**
- * Adds a build listener.
- *
- * @param buildListener a build listener
- */
-public void addBuildListeners(List classNames) {
- List result = new ArrayList(10);
- try {
- for (Iterator iterator = classNames.iterator(); iterator.hasNext();) {
- String className = (String) iterator.next();
- Class listener = Class.forName(className);
- result.add(listener.newInstance());
- }
- } catch (Exception e) {
- throw new BuildException(e);
- }
- this.buildListeners = result;
-}
-
-/**
- * Adds a build logger .
- *
- * @param
- */
-public void addBuildLogger(String className) {
- this.loggerClassname = className;
-}
-
-/**
- * Adds user properties.
- */
-public void addUserProperties(Map properties) {
- this.userProperties = properties;
-}
-
-protected void addBuildListeners(Project project) {
- try {
- project.addBuildListener(createLogger());
- for (Iterator iterator = buildListeners.iterator(); iterator.hasNext();)
- project.addBuildListener((BuildListener) iterator.next());
- } catch (Exception e) {
- throw new BuildException(e);
- }
-}
-
-
-protected void setProperties(Project project) {
- project.setUserProperty(PROPERTY_ECLIPSE_RUNNING, "true");
- project.setUserProperty("ant.file" , buildFileLocation);
- project.setUserProperty("ant.version", getAntVersion());
- if (userProperties == null)
- return;
- for (Iterator iterator = userProperties.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- project.setUserProperty((String) entry.getKey(), (String) entry.getValue());
- }
-}
-
-protected void setTasks(Project project) {
- List tasks = AntCorePlugin.getPlugin().getPreferences().getTasks();
- if (tasks == null)
- return;
- try {
- for (Iterator iterator = tasks.iterator(); iterator.hasNext();) {
- Task task = (Task) iterator.next();
- Class taskClass = Class.forName(task.getClassName());
- project.addTaskDefinition(task.getTaskName(), taskClass);
- }
- } catch (ClassNotFoundException e) {
- throw new BuildException(e);
- }
-}
-
-protected void setTypes(Project project) {
- List types = AntCorePlugin.getPlugin().getPreferences().getTypes();
- if (types == null)
- return;
- try {
- for (Iterator iterator = types.iterator(); iterator.hasNext();) {
- Type type = (Type) iterator.next();
- Class typeClass = Class.forName(type.getClassName());
- project.addDataTypeDefinition(type.getTypeName(), typeClass);
- }
- } catch (Exception e) {
- throw new BuildException(e);
- }
-}
-
-
-/**
- * Parses the build script and adds necessary information into
- * the given project.
- */
-protected void parseScript(Project project) {
- File buildFile = new File(buildFileLocation);
- ProjectHelper.configureProject(project, buildFile);
-}
-
-/**
- * Runs the build script.
- */
-public void run() {
- if (extraArguments != null)
- processCommandLine(getArrayList(extraArguments));
- Project project = new Project();
- Throwable error = null;
- PrintStream originalErr = System.err;
- PrintStream originalOut = System.out;
- try {
- System.setOut(new PrintStream(new DemuxOutputStream(project, false)));
- System.setErr(new PrintStream(new DemuxOutputStream(project, true)));
- project.log(Policy.bind("label.buildFile", buildFileLocation));
- fireBuildStarted(project);
- project.init();
- addBuildListeners(project);
- setProperties(project);
- setTasks(project);
- setTypes(project);
- parseScript(project);
- if (projectHelp) {
- printHelp(project);
- return;
- }
- if (targets != null && !targets.isEmpty())
- project.executeTargets(targets);
- else
- project.executeTarget(project.getDefaultTarget());
- } catch(RuntimeException e) {
- error = e;
- throw e;
- } catch(Error e) {
- error = e;
- throw e;
- } finally {
- System.setErr(originalErr);
- System.setOut(originalOut);
- fireBuildFinished(project, error);
- }
-}
-
-/**
- * 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(project, defaultName, defaultDesc, Policy.bind("label.defaultTarget"), maxLength);
-
- }
-
- printTargets(project, topNames, topDescriptions, Policy.bind("label.mainTargets"), maxLength);
- printTargets(project, subNames, null, Policy.bind("label.subTargets"), 0);
-}
-
-/**
- * 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;
-}
-
-/**
- * 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(Project project, 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(project, msg.toString(), Project.MSG_INFO);
-}
-
-/**
- * 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 void run(Object argArray) throws Exception {
- boolean success = processCommandLine(getArrayList((String[]) argArray));
- if (!success)
- return;
- try {
- run();
- } catch (Exception e) {
- printMessage(e);
- throw e;
- }
-}
-
-/**
- * Prints the message of the Throwable if it is not null.
- *
- * @param t the throwable whose message is to be displayed
- */
-protected void printMessage(Throwable t) {
- String message= t.getMessage();
- if (message != null)
- logMessage(null, message, Project.MSG_ERR);
-}
-
-/**
- * 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
- */
-protected BuildLogger createLogger() {
- BuildLogger logger = null;
- if (loggerClassname != null) {
- try {
- logger = (BuildLogger) (Class.forName(loggerClassname).newInstance());
- } catch (Exception e) {
- String message = Policy.bind("exception.cannotCreateLogger", loggerClassname);
- logMessage(null, message, Project.MSG_ERR);
- throw new BuildException(e);
- }
- } else {
- logger = new DefaultLogger();
- }
- logger.setMessageOutputLevel(messageOutputLevel);
- logger.setOutputPrintStream(out);
- logger.setErrorPrintStream(err);
- logger.setEmacsMode(emacsMode);
- return logger;
-}
-
-/**
- * We only have to do this because Project.fireBuildStarted is protected. If it becomes
- * public we should remove this method and call the appropriate one.
- */
-private void fireBuildStarted(Project project) {
- BuildEvent event = new BuildEvent(project);
- for (Iterator iterator = buildListeners.iterator(); iterator.hasNext();) {
- BuildListener listener = (BuildListener) iterator.next();
- listener.buildStarted(event);
- }
-}
-
-/**
- * We only have to do this because Project.fireBuildFinished is protected. If it becomes
- * public we should remove this method and call the appropriate one.
- */
-private void fireBuildFinished(Project project, Throwable error) {
- BuildEvent event = new BuildEvent(project);
- event.setException(error);
- for (Iterator iterator = buildListeners.iterator(); iterator.hasNext();) {
- BuildListener listener = (BuildListener) iterator.next();
- listener.buildFinished(event);
- }
-}
-
-protected void logMessage(Project project, String message, int priority) {
- if (project == null)
- project = new Project();
- BuildEvent event = new BuildEvent(project);
- event.setMessage(message, priority);
- for (Iterator iterator = buildListeners.iterator(); iterator.hasNext();) {
- BuildListener listener = (BuildListener) iterator.next();
- listener.messageLogged(event);
- }
-}
-
-/**
- * Sets the buildFileLocation.
- *
- * @param buildFileLocation the file system location of the build file
- */
-public void setBuildFileLocation(String buildFileLocation) {
- this.buildFileLocation = buildFileLocation;
-}
-
-/**
- * Sets the message output level. Use -1 for none.
- *
- * @param
- */
-public void setMessageOutputLevel(int level) {
- this.messageOutputLevel = level;
-}
-
-/**
- *
- */
-public void setArguments(String args) {
- this.extraArguments = args;
-}
-
-/**
- * Sets the execution targets.
- *
- */
-public void setExecutionTargets(Vector executiongTargets) {
- targets = executiongTargets;
-}
-
-protected static String getAntVersion() throws BuildException {
- try {
- Properties props = new Properties();
- InputStream in = Main.class.getResourceAsStream("/org/apache/tools/ant/version.txt");
- props.load(in);
- in.close();
-
- 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"));
- return msg.toString();
- } catch (IOException ioe) {
- throw new BuildException(Policy.bind("exception.cannotLoadVersionInfo", ioe.getMessage()));
- } catch (NullPointerException npe) {
- throw new BuildException(Policy.bind("exception.cannotLoadVersionInfo", ""));
- }
-}
-
-/**
- * Looks for interesting command line arguments. Returns true is it is OK to run
- * the script.
- */
-protected boolean processCommandLine(List commands) {
- // looks for flag-like commands
- if (commands.remove("-help")) {
- printUsage();
- return false;
- }
- if (commands.remove("-version")) {
- printVersion();
- return false;
- }
- if (commands.remove("-quiet") || commands.remove("-q")) {
- messageOutputLevel = Project.MSG_WARN;
- }
- if (commands.remove("-verbose") || commands.remove("-v")) {
- messageOutputLevel = Project.MSG_VERBOSE;
- }
- if (commands.remove("-debug")) {
- messageOutputLevel = Project.MSG_DEBUG;
- }
- if (commands.remove("-emacs")) {
- emacsMode = true;
- }
- if (commands.remove("-projecthelp")) {
- projectHelp = true;
- }
-
- // look for argumments
- String[] args = getArguments(commands, "-logfile");
- if (args == null) {
- args = getArguments(commands, "-l");
- }
- if (args != null) {
- try {
- File logFile = new File(args[0]);
- out = new PrintStream(new FileOutputStream(logFile));
- err = out;
- } catch (IOException e) {
- logMessage(null, Policy.bind("exception.cannotWriteToLog"), Project.MSG_INFO);
- return false;
- }
- }
-
- args = getArguments(commands, "-buildfile");
- if (args == null) {
- args = getArguments(commands, "-file");
- if (args == null)
- args = getArguments(commands, "-f");
- }
- if (args != null) {
- buildFileLocation = args[0];
- targets = new Vector();
- for (int i = 1; i < args.length; i++)
- targets.add(args[i]);
- }
-
- args = getArguments(commands, "-listener");
- if (args != null)
- buildListeners.add(args[0]);
-
- args = getArguments(commands, "-logger");
- if (args != null)
- loggerClassname = args[0];
-
- processProperties(commands);
-
- return true;
-}
-
-protected void processProperties(List commands) {
- userProperties = new HashMap(10);
- String[] args = (String[]) commands.toArray(new String[commands.size()]);
- for (int i = 0; i < args.length; i++) {
- String arg = args[i];
- 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];
-
- userProperties.put(name, value);
- commands.remove(args[i]);
- }
- }
-}
-
-/**
- * Print the project description, if any
- */
-protected void printHelp(Project project) {
- if (project.getDescription() != null)
- logMessage(project, project.getDescription(), Project.MSG_INFO);
- printTargets(project);
-}
-
-/**
- * Logs a message with the client indicating the version of <b>Ant</b> that this class
- * fronts.
- */
-protected void printVersion() {
- logMessage(null, getAntVersion(), Project.MSG_INFO);
-}
-
-/**
- * Logs a message with the client outlining the usage of <b>Ant</b>.
- */
-protected 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(null, msg.toString(), Project.MSG_INFO);
-}
-
-/**
- * From a command line list, get the array of arguments of a given parameter.
- * The parameter and its arguments are removed from the list.
- * @return null if the parameter is not found or has no arguments
- */
-protected String[] getArguments(List commands, String param) {
- int index = commands.indexOf(param);
- if (index == -1)
- return null;
- commands.remove(index);
- if (index == commands.size()) // if this is the last command
- return null;
- List args = new ArrayList(commands.size());
- while (index < commands.size()) { // while not the last command
- String command = (String) commands.get(index);
- if (command.startsWith("-")) // is it a new parameter?
- break;
- args.add(command);
- commands.remove(index);
- }
- if (args.isEmpty())
- return null;
- return (String[]) args.toArray(new String[args.size()]);
-}
-
-/**
- * Helper method to ensure an array is converted into an ArrayList.
- */
-private ArrayList getArrayList(String[] args) {
- // We could be using Arrays.asList() here, but it does not specify
- // what kind of list it will return. We do need a list that
- // implements the method List.remove(int) and ArrayList does.
- ArrayList result = new ArrayList(args.length);
- for (int i = 0; i < args.length; i++)
- result.add(args[i]);
- return result;
-}
-
-/**
- * Helper method to ensure an array is converted into an ArrayList.
- */
-private ArrayList getArrayList(String args) {
- ArrayList result = new ArrayList();
- for (StringTokenizer tokens = new StringTokenizer(args, ","); tokens.hasMoreTokens();) {
- String token = tokens.nextToken().trim();
- if (!token.equals(""))
- result.add(token);
- }
- return result;
-}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/Policy.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/Policy.java
deleted file mode 100644
index 7c2d7a0..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/Policy.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/messages.properties b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/messages.properties
deleted file mode 100644
index 65d88d6..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/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.ui/.classpath b/ant/org.eclipse.ant.ui/.classpath
deleted file mode 100644
index f250af5..0000000
--- a/ant/org.eclipse.ant.ui/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="src_ant"/>
- <classpathentry kind="src" path="/org.apache.ant"/>
- <classpathentry kind="src" path="/org.eclipse.ant.core"/>
- <classpathentry kind="src" path="/org.eclipse.core.resources"/>
- <classpathentry kind="src" path="/org.eclipse.ui"/>
- <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
- <classpathentry kind="src" path="/org.eclipse.core.boot"/>
- <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ant/org.eclipse.ant.ui/.cvsignore b/ant/org.eclipse.ant.ui/.cvsignore
deleted file mode 100644
index 57b480f..0000000
--- a/ant/org.eclipse.ant.ui/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-lib
diff --git a/ant/org.eclipse.ant.ui/.project b/ant/org.eclipse.ant.ui/.project
deleted file mode 100644
index a05291f..0000000
--- a/ant/org.eclipse.ant.ui/.project
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ant.ui</name>
- <comment></comment>
- <projects>
- <project>org.apache.ant</project>
- <project>org.eclipse.ant.core</project>
- <project>org.eclipse.core.boot</project>
- <project>org.eclipse.core.resources</project>
- <project>org.eclipse.core.runtime</project>
- <project>org.eclipse.ui</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.team.cvs.core.cvsnature</nature>
- </natures>
-</projectDescription>
diff --git a/ant/org.eclipse.ant.ui/about.html b/ant/org.eclipse.ant.ui/about.html
deleted file mode 100644
index 441774f..0000000
--- a/ant/org.eclipse.ant.ui/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>
-<head>
-<title>About</title>
-<style type="text/css">
-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}
-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
-code { font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup { font-family: arial,helvetica,geneva; font-size: 10px}
-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li { font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect( ); margin-top: 5mm; margin-left: 3mm}
-</style>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<table border="0" cellspacing="5" cellpadding="2" width="100%" >
- <tr>
- <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>
- </tr>
- <tr>
- <td>
-<p>11th December, 2001</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in "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, "Program" will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL "Other License", any modifications, enhancements and/or
-other code and/or documentation "Modifications" uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-</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 bbb0319..0000000
--- a/ant/org.eclipse.ant.ui/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-custom = true
-
-source.antui.jar=src/
-source.lib/antuilib.jar=src_ant/
-bin.includes=icons/,plugin.xml,*.jar,plugin.properties,about.html,lib/
-javadoc.packages=org.eclipse.*
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/build.xml b/ant/org.eclipse.ant.ui/build.xml
deleted file mode 100644
index b9f7ec6..0000000
--- a/ant/org.eclipse.ant.ui/build.xml
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.ant.ui" default="plugin.zip" basedir=".">
- <target name="initTemplate" unless="template">
- <initTemplate/>
- </target>
- <target name="init" depends="initTemplate">
- <property name="plugin" value="org.eclipse.ant.ui"/>
- <property name="version" value="2.0.2"/>
- <property name="stamp" value=""/>
- <property name="os" value="win32"/>
- <property name="ws" value="win32"/>
- <property name="nl" value="en_US"/>
- <property name="arch" value="x86"/>
- </target>
-
- <target name="src.zip" depends="init">
- <property name="base" value="${basedir}/src.zip.pdetemp"/>
- <delete dir="${base}"/>
- <mkdir dir="${base}"/>
- <antcall target="src">
- <param name ="destroot" value="${base}/plugins/${plugin}_${version}"/>
- </antcall>
- <ant antfile="${template}" target="runZip">
- <property name="resultingFile" value="${basedir}/${plugin}_${version}.src.zip"/>
- <property name="targetDir" value="${base}"/>
- </ant>
- <delete dir="${base}"/>
- </target>
-
- <target name="plugin.zip" depends="bin.zip"/>
- <target name="bin.zip" depends="init">
- <property name="base" value="${basedir}/bin.zip.pdetemp"/>
- <delete dir="${base}"/>
- <mkdir dir="${base}"/>
- <antcall target="jar">
- <param name ="destroot" value="${base}/plugins/${plugin}_${version}"/>
- </antcall>
- <antcall target="bin">
- <param name ="destroot" value="${base}/plugins/${plugin}_${version}"/>
- </antcall>
- <delete>
- <fileset dir="${base}" includes="**/*.bin.log"/>
- </delete>
- <ant antfile="${template}" target="runZip">
- <property name="resultingFile" value="${basedir}/${plugin}_${version}.zip"/>
- <property name="targetDir" value="${base}"/>
- </ant>
- <delete dir="${base}"/>
- </target>
-
- <target name="log.zip" depends="init">
- <property name="base" value="${basedir}/log.zip.pdetemp"/>
- <delete dir="${base}"/>
- <mkdir dir="${base}"/>
- <antcall target="log">
- <param name ="destroot" value="${base}/plugins/${plugin}_${version}"/>
- </antcall>
- <ant antfile="${template}" target="runZip">
- <property name="resultingFile" value="${basedir}/${plugin}_${version}.log.zip"/>
- <property name="targetDir" value="${base}"/>
- </ant>
- <delete dir="${base}"/>
- </target>
-
- <target name="antui.jar" depends="init">
- <ant antfile="${template}" target="jar">
- <property name="mapping" value="src/"/>
- <property name="includes" value="src/"/>
- <property name="excludes" value=""/>
- <property name="dest" value="${basedir}/antui.jar"/>
- <property name="compilePath" value="../org.eclipse.core.runtime/bin;../org.eclipse.core.runtime/runtime.jar;../org.eclipse.core.boot/bin;../org.eclipse.core.boot/boot.jar;../org.apache.ant/bin;../org.apache.ant/ant.jar;../org.apache.ant/jakarta-ant-1.4.1-optional.jar;../org.apache.xerces/bin;../org.apache.xerces/xerces.jar;../org.eclipse.ant.core/bin;../org.eclipse.ant.core/antsupport.jar;../org.eclipse.core.resources/bin;../org.eclipse.core.resources/resources.jar;../org.eclipse.ui/bin;../org.eclipse.ui/workbench.jar;../org.eclipse.help/bin;../org.eclipse.help/help.jar;../org.apache.lucene/bin;../org.apache.lucene/lucene-1.2-rc2.jar;../org.apache.lucene/lucenedemo.zip;../org.eclipse.swt/bin;../org.eclipse.swt/ws/${ws}/swt-pi.jar;../org.eclipse.swt/ws/${ws}/swt.jar"/>
- </ant>
- </target>
-
- <target name="lib/antuilib.jar" depends="init">
- <ant antfile="${template}" target="jar">
- <property name="mapping" value="src_ant/"/>
- <property name="includes" value="src_ant/"/>
- <property name="excludes" value=""/>
- <property name="dest" value="${basedir}/lib/antuilib.jar"/>
- <property name="compilePath" value="../org.eclipse.core.runtime/bin;../org.eclipse.core.runtime/runtime.jar;../org.eclipse.core.boot/bin;../org.eclipse.core.boot/boot.jar;antui.jar;bin/;../org.apache.ant/bin;../org.apache.ant/ant.jar;../org.apache.ant/jakarta-ant-1.4.1-optional.jar;../org.apache.xerces/bin;../org.apache.xerces/xerces.jar;../org.eclipse.ant.core/bin;../org.eclipse.ant.core/antsupport.jar;../org.eclipse.core.resources/bin;../org.eclipse.core.resources/resources.jar;../org.eclipse.ui/bin;../org.eclipse.ui/workbench.jar;../org.eclipse.help/bin;../org.eclipse.help/help.jar;../org.apache.lucene/bin;../org.apache.lucene/lucene-1.2-rc2.jar;../org.apache.lucene/lucenedemo.zip;../org.eclipse.swt/bin;../org.eclipse.swt/ws/${ws}/swt-pi.jar;../org.eclipse.swt/ws/${ws}/swt.jar"/>
- </ant>
- </target>
-
- <target name="jar" depends="init,antui.jar,lib/antuilib.jar">
- </target>
-
- <target name="antuisrc.zip" depends="init">
- <property name="destroot" value="${basedir}"/>
- <ant antfile="${template}" target="src">
- <property name="mapping" value="src/"/>
- <property name="includes" value="src/**/*.java"/>
- <property name="excludes" value=""/>
- <property name="dest" value="${destroot}/antuisrc.zip"/>
- </ant>
- </target>
-
- <target name="lib/antuilibsrc.zip" depends="init">
- <property name="destroot" value="${basedir}"/>
- <ant antfile="${template}" target="src">
- <property name="mapping" value="src_ant/"/>
- <property name="includes" value="src_ant/**/*.java"/>
- <property name="excludes" value=""/>
- <property name="dest" value="${destroot}/lib/antuilibsrc.zip"/>
- </ant>
- </target>
-
- <target name="src" depends="init,antuisrc.zip,lib/antuilibsrc.zip">
- </target>
-
- <target name="bin" depends="init">
- <property name="destroot" value="${basedir}"/>
- <ant antfile="${template}" target="bin">
- <property name="includes" value="icons/,plugin.xml,*.jar,plugin.properties,about.html,lib/"/>
- <property name="excludes" value="src/,src_ant/"/>
- <property name="dest" value="${destroot}"/>
- </ant>
- </target>
-
- <target name="log" depends="init">
- <property name="destroot" value="${basedir}"/>
- <ant antfile="${template}" target="log">
- <property name="dest" value="${destroot}"/>
- </ant>
- </target>
-
- <target name="clean" depends="init">
- <ant antfile="${template}" target="clean">
- <property name="jar" value="antui.jar,lib/antuilib.jar"/>
- <property name="srczips" value="antuisrc.zip,lib/antuilibsrc.zip"/>
- </ant>
- <delete>
- <fileset dir="." includes="**/*.pdetemp"/>
- </delete>
- <delete file="${plugin}_${version}.zip"/>
- <delete file="${plugin}_${version}.src.zip"/>
- <delete file="${plugin}_${version}.doc.zip"/>
- <delete file="${plugin}_${version}.log.zip"/>
- </target>
-</project>
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/cview16/ant_view.gif b/ant/org.eclipse.ant.ui/icons/basic/cview16/ant_view.gif
deleted file mode 100644
index 0165a50..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/cview16/ant_view.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/basic/eview16/ant_view.gif b/ant/org.eclipse.ant.ui/icons/basic/eview16/ant_view.gif
deleted file mode 100644
index 76be436..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/eview16/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/clcl16/clear.gif b/ant/org.eclipse.ant.ui/icons/full/clcl16/clear.gif
deleted file mode 100644
index 2558326..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/clcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/clcl16/hideOrShowTree.gif b/ant/org.eclipse.ant.ui/icons/full/clcl16/hideOrShowTree.gif
deleted file mode 100644
index 5a8c7ea..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/clcl16/hideOrShowTree.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/clcl16/showOnlySelectedText.gif b/ant/org.eclipse.ant.ui/icons/full/clcl16/showOnlySelectedText.gif
deleted file mode 100644
index be9eb92..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/clcl16/showOnlySelectedText.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/eview16/build_exec.gif b/ant/org.eclipse.ant.ui/icons/full/eview16/build_exec.gif
deleted file mode 100644
index 20e7bae..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/eview16/build_exec.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/eview16/classpath.gif b/ant/org.eclipse.ant.ui/icons/full/eview16/classpath.gif
deleted file mode 100644
index f966fc3..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/eview16/classpath.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/eview16/jar_l_obj.gif b/ant/org.eclipse.ant.ui/icons/full/eview16/jar_l_obj.gif
deleted file mode 100644
index 11e04e2..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/eview16/jar_l_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/eview16/type.gif b/ant/org.eclipse.ant.ui/icons/full/eview16/type.gif
deleted file mode 100644
index 2db7604..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/eview16/type.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/newpde_build.xml b/ant/org.eclipse.ant.ui/newpde_build.xml
deleted file mode 100644
index 9e33740..0000000
--- a/ant/org.eclipse.ant.ui/newpde_build.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.ant.ui" default="build.jars" basedir=".">
-
- <target name="initTemplate" unless="template">
- <initTemplate/>
- </target>
-
- <target name="init" depends="initTemplate, properties">
- </target>
-
- <target name="build.update.jar" depends="init">
- <property name="base" value="${basedir}/bin.zip.pdetemp"/>
- <delete dir="${base}"/>
- <mkdir dir="${base}"/>
- <antcall target="build.jars"/>
- <antcall target="gather.bin.parts">
- <param name="destination" value="${base}/"/>
- </antcall>
- <delete>
- <fileset dir="${base}" includes="**/*.bin.log"/>
- </delete>
- <zip zipfile="${basedir}/${plugin}_${version}.jar" basedir="${base}/plugins/${plugin}"/>
- <delete dir="${base}"/>
- </target>
-
- <target name="gather.bin.parts" depends="init" if="destination">
- <ant antfile="${template}" target="includesExcludesCopy">
- <property name="srcdir" value="${basedir}"/>
- <property name="dest" value="${destination}/plugins/${plugin}"/>
- <property name="excludes" value="${bin.excludes}"/>
- <property name="includes" value="${bin.includes}"/>
- </ant>
- </target>
-
- <target name="lib/antuilib.jar" depends="init">
- <ant antfile="${template}" target="jar">
- <property name="dest" value="${basedir}/lib/antuilib.jar"/>
- <property name="srcdir" value="${basedir}"/>
- <property name="includes" value="src_ant/"/>
- <property name="excludes" value=""/>
- <property name="mapping" value="src_ant/"/>
- <property name="compilePath" value="${location.org.eclipse.core.runtime}/bin;${location.org.eclipse.core.runtime}/runtime.jar;${location.org.eclipse.core.boot}/bin;${location.org.eclipse.core.boot}/boot.jar;${location.org.eclipse.ant.ui}/bin;${location.org.eclipse.ant.ui}/antui.jar;${location.org.apache.ant}/bin;${location.org.apache.ant}/ant.jar;${location.org.apache.ant}/jakarta-ant-1.4.1-optional.jar;${location.org.apache.xerces}/bin;${location.org.apache.xerces}/xerces.jar;${location.org.eclipse.ant.core}/bin;${location.org.eclipse.ant.core}/antsupport.jar;${location.org.eclipse.core.resources}/bin;${location.org.eclipse.core.resources}/resources.jar;${location.org.eclipse.ui}/bin;${location.org.eclipse.ui}/workbench.jar;${location.org.eclipse.help}/bin;${location.org.eclipse.help}/help.jar;${location.org.apache.lucene}/bin;${location.org.apache.lucene}/lucene-1.2-rc2.jar;${location.org.apache.lucene}/lucenedemo.zip;${location.org.eclipse.swt}/bin;${location.org.eclipse.swt}/ws/${ws}/swt-pi.jar;${location.org.eclipse.swt}/ws/${ws}/swt.jar"/>
- </ant>
- </target>
-
- <target name="antui.jar" depends="init">
- <ant antfile="${template}" target="jar">
- <property name="dest" value="${basedir}/antui.jar"/>
- <property name="srcdir" value="${basedir}"/>
- <property name="includes" value="src/"/>
- <property name="excludes" value=""/>
- <property name="mapping" value="src/"/>
- <property name="compilePath" value="${location.org.eclipse.core.runtime}/bin;${location.org.eclipse.core.runtime}/runtime.jar;${location.org.eclipse.core.boot}/bin;${location.org.eclipse.core.boot}/boot.jar;${location.org.eclipse.ant.ui}/bin;${location.org.eclipse.ant.ui}/antui.jar;${location.org.apache.ant}/bin;${location.org.apache.ant}/ant.jar;${location.org.apache.ant}/jakarta-ant-1.4.1-optional.jar;${location.org.apache.xerces}/bin;${location.org.apache.xerces}/xerces.jar;${location.org.eclipse.ant.core}/bin;${location.org.eclipse.ant.core}/antsupport.jar;${location.org.eclipse.core.resources}/bin;${location.org.eclipse.core.resources}/resources.jar;${location.org.eclipse.ui}/bin;${location.org.eclipse.ui}/workbench.jar;${location.org.eclipse.help}/bin;${location.org.eclipse.help}/help.jar;${location.org.apache.lucene}/bin;${location.org.apache.lucene}/lucene-1.2-rc2.jar;${location.org.apache.lucene}/lucenedemo.zip;${location.org.eclipse.swt}/bin;${location.org.eclipse.swt}/ws/${ws}/swt-pi.jar;${location.org.eclipse.swt}/ws/${ws}/swt.jar"/>
- </ant>
- </target>
-
- <target name="build.jars" depends="init,antui.jar,lib/antuilib.jar">
- </target>
-
- <target name="build.zips" depends="init">
- </target>
-
- <target name="gather.sources" depends="init" if="destination">
- <mkdir dir="${destination}/plugins/${plugin}/lib"/>
- <copy file="${basedir}/lib/antuilibsrc.zip" todir="${destination}/plugins/${plugin}/lib"/>
- <mkdir dir="${destination}/plugins/${plugin}"/>
- <copy file="${basedir}/antuisrc.zip" todir="${destination}/plugins/${plugin}"/>
- </target>
-
- <target name="lib/antuilibsrc.zip" depends="init">
- <ant antfile="${template}" target="src">
- <property name="srcdir" value="${basedir}"/>
- <property name="mapping" value="src_ant/"/>
- <property name="dest" value="${basedir}/lib/antuilibsrc.zip"/>
- <property name="excludes" value=""/>
- <property name="includes" value="src_ant/**/*.java"/>
- </ant>
- </target>
-
- <target name="antuisrc.zip" depends="init">
- <ant antfile="${template}" target="src">
- <property name="srcdir" value="${basedir}"/>
- <property name="mapping" value="src/"/>
- <property name="dest" value="${basedir}/antuisrc.zip"/>
- <property name="excludes" value=""/>
- <property name="includes" value="src/**/*.java"/>
- </ant>
- </target>
-
- <target name="build.sources" depends="init,lib/antuilibsrc.zip,antuisrc.zip">
- </target>
-
- <target name="gather.logs" depends="init">
- <mkdir dir="${destination}/plugins/${plugin}/lib"/>
- <copy file="${basedir}/lib/antuilib.jar.bin.log" todir="${destination}/plugins/${plugin}/lib"/>
- <mkdir dir="${destination}/plugins/${plugin}"/>
- <copy file="${basedir}/antui.jar.bin.log" todir="${destination}/plugins/${plugin}"/>
- </target>
-
- <target name="clean" depends="init">
- <delete>
- <fileset dir="${basedir}" includes="*.bin"/>
- <fileset dir="${basedir}" includes="**/*.log"/>
- <fileset dir="${basedir}" includes="lib/antuilib.jar,antui.jar"/>
- <fileset dir="${basedir}" includes="lib/antuilibsrc.zip,antuisrc.zip"/>
- <fileset dir="${basedir}" includes="**/*.pdetemp"/>
- </delete>
- <delete file="${plugin}_${version}.jar"/>
- <delete file="${plugin}_${version}.src.zip"/>
- <delete file="${plugin}_${version}.log.zip"/>
- </target>
-
- <target name="properties">
- <property name="plugin" value="org.eclipse.ant.ui"/>
- <property name="version" value="2.0.2"/>
- <pluginLocation plugin="org.eclipse.swt" property="location.org.eclipse.swt"/>
- <pluginLocation plugin="org.apache.ant" property="location.org.apache.ant"/>
- <pluginLocation plugin="org.eclipse.ant.core" property="location.org.eclipse.ant.core"/>
- <pluginLocation plugin="org.eclipse.ant.ui" property="location.org.eclipse.ant.ui"/>
- <pluginLocation plugin="org.eclipse.ui" property="location.org.eclipse.ui"/>
- <pluginLocation plugin="org.eclipse.help" property="location.org.eclipse.help"/>
- <pluginLocation plugin="org.eclipse.core.boot" property="location.org.eclipse.core.boot"/>
- <pluginLocation plugin="org.apache.lucene" property="location.org.apache.lucene"/>
- <pluginLocation plugin="org.eclipse.core.runtime" property="location.org.eclipse.core.runtime"/>
- <pluginLocation plugin="org.apache.xerces" property="location.org.apache.xerces"/>
- <pluginLocation plugin="org.eclipse.core.resources" property="location.org.eclipse.core.resources"/>
- <property name="bin.includes" value="icons/,plugin.xml,*.jar,plugin.properties,about.html,lib/"/>
- <property name="bin.excludes" value="src/,src_ant/"/>
- </target>
-
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/plugin.properties b/ant/org.eclipse.ant.ui/plugin.properties
deleted file mode 100644
index 0137810..0000000
--- a/ant/org.eclipse.ant.ui/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-antActionSetLabel = Ant
-antBuilderPropertyName=Tool Script Builders
-antConsole = Ant Console
-antConsolePreferences = Console
-antClasspathPreferences = Customize
-antLauncher = Ant Targets
-antPreferences = Ant
-executeAntLabel = Run Ant Script
-executeAntTooltip = Run Ant script
-executeToolScriptLabel = Run Tool &Script...
-pluginName = Ant Build Tool UI
-runAnt = Run &Ant...
-runAntTip = Run Ant with the selected build file
-providerName = Object Technology International, Inc.
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/plugin.xml b/ant/org.eclipse.ant.ui/plugin.xml
deleted file mode 100644
index a7538fe..0000000
--- a/ant/org.eclipse.ant.ui/plugin.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<plugin
- name = "%pluginName"
- id="org.eclipse.ant.ui"
- version = "2.1"
- provider-name = "%providerName"
- class="org.eclipse.ant.internal.ui.AntUIPlugin">
-
- <requires>
- <import plugin="org.apache.ant"/>
- <import plugin="org.eclipse.ant.core"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.ui"/>
- </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="&Ant">
- </category>
- <view
- id="org.eclipse.ant.ui.antconsole"
- name="%antConsole"
- icon="icons/full/cview16/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>
- <page
- id="org.eclipse.ant.ui.AntClasspathPreferences"
- name="%antClasspathPreferences"
- class="org.eclipse.ant.internal.ui.CustomizeAntPreferencePage"
- 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/full/eview16/ant_view.gif"
- tooltip="%executeAntTooltip"
- class="org.eclipse.ant.internal.ui.AntLaunchDropDownAction"
- toolbarPath="ant"
- id="org.eclipse.ant.ui.antDropDownAction" />
- </actionSet>
- </extension>
-
-
- <!-- Objects -->
- <extension point="org.eclipse.ant.core.antObjects">
- <antObject
- name="org.eclipse.ant.internal.ui.ant.UIBuildLogger"
- class="org.eclipse.ant.internal.ui.ant.UIBuildLogger"
- library="lib/antuilib.jar">
- </antObject>
- </extension>
-
-</plugin>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AddTaskDialog.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AddTaskDialog.java
deleted file mode 100644
index 263697b..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AddTaskDialog.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-import java.net.URL;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Dialog to prompt the user to add a custom ant task or type.
- */
-public class AddTaskDialog extends Dialog {
- protected String title;
- protected String description;
-
- //task/type attributes
- protected String taskName;
- protected String className;
- protected URL library;
-
- //widgets
- protected Button okButton;
- protected Text nameField;
- protected Text classField;
- protected Combo libraryField;
-
- protected URL[] libraryUrls;
-
-/**
- * Creates a new task dialog with the given shell and title.
- */
-protected AddTaskDialog(Shell parentShell, String title, String description) {
- super(parentShell);
- this.title = title;
- this.description = description;
-}
-/**
- * @see Window#configureShell(Shell)
- */
-protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setText(title);
-}
-/**
- * @see Dialog#createButtonsForButtonBar(Composite)
- */
-protected void createButtonsForButtonBar(Composite parent) {
- okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
- createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
- updateEnablement();
-}
-/**
- * @see Dialog#createDialogArea(Composite)
- */
-protected Control createDialogArea(Composite parent) {
- Composite dialogArea = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- layout.marginHeight = 10;
- layout.marginWidth = 10;
- dialogArea.setLayout(layout);
-
- Label label = new Label(dialogArea, SWT.NONE);
- label.setText(description);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 2;
- label.setLayoutData(data);
-
- label = new Label(dialogArea, SWT.NONE);
- label.setText(Policy.bind("preferences.customize.addTaskDialogName"));
- nameField = new Text(dialogArea, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- nameField.setLayoutData(data);
- nameField.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- updateEnablement();
- }
- });
-
- label = new Label(dialogArea, SWT.NONE);
- label.setText(Policy.bind("preferences.customize.addTaskDialogClass"));
- classField = new Text(dialogArea, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- classField.setLayoutData(data);
- classField.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- updateEnablement();
- }
- });
-
- label = new Label(dialogArea, SWT.NONE);
- label.setText(Policy.bind("preferences.customize.addTaskDialogLibrary"));
- libraryField = new Combo(dialogArea, SWT.READ_ONLY | SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- libraryField.setLayoutData(data);
- libraryField.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- updateEnablement();
- }
- });
-
- //populate library combo and select input library
- libraryUrls = AntCorePlugin.getPlugin().getPreferences().getCustomURLs();
- int selection = 0;
- for (int i = 0; i < libraryUrls.length; i++) {
- libraryField.add(libraryUrls[i].getFile());
- if (libraryUrls[i].equals(library))
- selection = i;
- }
-
- //intialize fields
- if (taskName != null)
- nameField.setText(taskName);
- if (className != null)
- classField.setText(className);
- if (libraryUrls.length >= 0)
- libraryField.select(selection);
- return dialogArea;
-}
-
-public String getClassName() {
- return className;
-}
-public void setClassName(String className) {
- this.className = className;
-}
-public URL getLibrary() {
- return library;
-}
-/**
- * @see Dialog#okPressed()
- */
-protected void okPressed() {
- className = classField.getText();
- taskName = nameField.getText();
- int selection = libraryField.getSelectionIndex();
- if (selection >= 0)
- library = libraryUrls[selection];
- super.okPressed();
-}
-public void setLibrary(URL library) {
- this.library = library;
-}
-public String getTaskName() {
- return taskName;
-}
-public void setTaskName(String taskName) {
- this.taskName = taskName;
-}
-protected void updateEnablement() {
- if (okButton != null)
- okButton.setEnabled(nameField.getText().length() > 0 &&
- classField.getText().length() > 0 &&
- libraryField.getSelectionIndex() >= 0);
-}
-}
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 61df6d6..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntAction.java
+++ /dev/null
@@ -1,85 +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.Project;
-import org.apache.tools.ant.ProjectHelper;
-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"));
-}
-
-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);
- }
- }
- }
-
- Project 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 Project extractProject(IFile sourceFile) {
- // create a project and initialize it
- Project antProject = new Project();
- 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 e705dba..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 7c0364e..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 4fdc1a2..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchDropDownAction.java
+++ /dev/null
@@ -1,123 +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.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 b9dd8d5..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 4c419c1..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 fb91808..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 49cbbbf..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 ef7dcf9..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 850a760..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 df7d68e..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntUIPlugin.java
+++ /dev/null
@@ -1,210 +0,0 @@
-package org.eclipse.ant.internal.ui;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The plug-in runtime class for the AntUI plug-in.
- */
-public final class AntUIPlugin extends AbstractUIPlugin {
- /**
- *
- */
- protected IProgressMonitor currentProgressMonitor;
-
- protected final HashMap imageDescriptors = new HashMap(30);
-
- /**
- * Unique identifier constant (value <code>"org.eclipse.ant.ui"</code>)
- * for the Ant UI plug-in.
- */
- public static final String PI_ANTUI= "org.eclipse.ant.ui";
-
- public static final String PROPERTIES_MESSAGES = "org.eclipse.ant.internal.ui.messages";
-
- public static final String IMG_ANT_SCRIPT= "icons/full/eview16/ant_view.gif";
- public static final String IMG_BUILDER= "icons/full/eview16/build_exec.gif";
- public static final String IMG_JAR_FILE = "icons/full/eview16/jar_l_obj.gif";
- public static final String IMG_CLASSPATH = "icons/full/eview16/classpath.gif";
- public static final String IMG_TYPE = "icons/full/eview16/type.gif";
-
- private static final String SETTINGS_COMMAND_HISTORY = "CommandHistory";
- private static final int MAX_COMMAND_HISTORY = 15;
-
-
- /**
- * The single instance of this plug-in runtime class.
- */
- private static AntUIPlugin plugin;
-
- private final static int MAX_HISTORY_SIZE= 5;
- /**
- * The most recent debug launches
- */
- private IFile[] antHistory = new IFile[MAX_HISTORY_SIZE];
-
-public IProgressMonitor getCurrentProgressMonitor() {
- return currentProgressMonitor;
-}
-
-public void setCurrentProgressMonitor(IProgressMonitor monitor) {
- this.currentProgressMonitor = monitor;
-}
-
-public AntUIPlugin(IPluginDescriptor desc) {
- super(desc);
- plugin= this;
-}
-
-public static AntUIPlugin getPlugin() {
- return plugin;
-}
-
-public static ResourceBundle getResourceBundle() {
- try {
- return ResourceBundle.getBundle(PROPERTIES_MESSAGES);
- } catch (MissingResourceException e) {
- ErrorDialog.openError(
- plugin.getWorkbench().getActiveWorkbenchWindow().getShell(),
- Policy.bind("exception.missingResourceBundle"),
- Policy.bind("exception.missingResourceBundle.message"),
- new Status(IStatus.ERROR,PI_ANTUI,0,Policy.bind("exception.missingResourceBundle.message"),e));
- return null;
- }
-}
-
-/**
- * Adds the given command to the command history.
- * - if the command doesn't exist: put it at the first place
- * - if it exists and is already at the first place: does nothing
- * - if it exists and is not at the first place: move it to the first place
-
- */
-public void addToCommandHistory(String command) {
- IDialogSettings settings = getDialogSettings();
- String[] oldHistory = settings.getArray(SETTINGS_COMMAND_HISTORY);
- if (oldHistory == null || oldHistory.length == 0) {
- settings.put(SETTINGS_COMMAND_HISTORY, new String[] {command});
- return;
- }
- if (command.equals(oldHistory[0])) {
- return;
- }
- //search for existing command and move to top if found
- int index;
- for (index=1; index<oldHistory.length; index++)
- if (command.equals(oldHistory[index]))
- break;
- if (index < oldHistory.length) {
- //it was found, so replace it
- for (int i=index; i>0; i--)
- oldHistory[i] = oldHistory[i-1];
- oldHistory[0] = command;
- settings.put(SETTINGS_COMMAND_HISTORY, oldHistory);
- }
- //not found -- add it to the history
- String[] newHistory;
- if (oldHistory.length == MAX_COMMAND_HISTORY) {
- //shift other commands down and add new one
- System.arraycopy(oldHistory, 0, oldHistory, 1, oldHistory.length-1);
- oldHistory[0] = command;
- newHistory = oldHistory;
- } else {
- // grow the history array
- newHistory = new String[oldHistory.length+1];
- System.arraycopy(oldHistory, 0, newHistory, 1, oldHistory.length);
- newHistory[0] = command;
- }
- settings.put(SETTINGS_COMMAND_HISTORY, newHistory);
-}
-/**
- * Adds the given file to the history:
- * - if the file doesn't exist: put it at the first place
- * - if it exists and is already at the first place: does nothing
- * - if it exists and is not at the first place: move it to the first place
- *
- * @param the file
- */
-public void addToHistory(IFile file) {
- if (file.equals(antHistory[0]))
- return;
-
- int index;
- for (index=1; index<MAX_HISTORY_SIZE; index++)
- if (file.equals(antHistory[index]))
- break;
- if (index == MAX_HISTORY_SIZE)
- index--;
- for (int i=index; i>0; i--)
- antHistory[i] = antHistory[i-1];
- antHistory[0] = file;
-}
-
-/**
- * Returns the history of tool script command that have been run.
- */
-public String[] getCommandHistory() {
- return getDialogSettings().getArray(SETTINGS_COMMAND_HISTORY);
-}
-/**
- * Returns the history of the AntPlugin, i.e. the files that were executed previously
- *
- * @return an array containing the files
- */
-public IFile[] getHistory() {
- return antHistory;
-}
-
-/**
- * Returns the ImageDescriptor for the icon with the given path
- *
- * @return the ImageDescriptor object
- */
-public ImageDescriptor getImageDescriptor(String path) {
- ImageDescriptor desc = (ImageDescriptor)imageDescriptors.get(path);
- if (desc != null)
- return desc;
- try {
- URL installURL = getDescriptor().getInstallURL();
- URL url = new URL(installURL,path);
- desc = ImageDescriptor.createFromURL(url);
- imageDescriptors.put(path, desc);
- return desc;
- } catch (MalformedURLException e) {
- return null;
- }
-}
-
-/**
- * @see AbstractUIPlugin#initializeDefaultPreferences
- */
-protected void initializeDefaultPreferences(IPreferenceStore prefs) {
- prefs.setDefault(IAntPreferenceConstants.AUTO_SAVE, false);
- prefs.setDefault(IAntPreferenceConstants.INFO_LEVEL, true);
- prefs.setDefault(IAntPreferenceConstants.VERBOSE_LEVEL, false);
- prefs.setDefault(IAntPreferenceConstants.DEBUG_LEVEL, false);
-
- PreferenceConverter.setDefault(prefs, IAntPreferenceConstants.CONSOLE_ERROR_RGB, new RGB(255, 0, 0)); // red - exactly the same as debug Consol
- PreferenceConverter.setDefault(prefs, IAntPreferenceConstants.CONSOLE_WARNING_RGB, new RGB(255, 100, 0)); // orange
- PreferenceConverter.setDefault(prefs, IAntPreferenceConstants.CONSOLE_INFO_RGB, new RGB(0, 0, 255)); // blue
- PreferenceConverter.setDefault(prefs, IAntPreferenceConstants.CONSOLE_VERBOSE_RGB, new RGB(0, 200, 125)); // green
- PreferenceConverter.setDefault(prefs, IAntPreferenceConstants.CONSOLE_DEBUG_RGB, new RGB(0, 0, 0)); // black
-
-}
-}
\ No newline at end of file
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 4fdba9b..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/ClasspathPage.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/ClasspathPage.java
deleted file mode 100644
index 2f9def0..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/ClasspathPage.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A widget group for the jars tab of the ant classpath preference page.
- */
-public class ClasspathPage extends CustomizeAntPage {
- //button constants
- protected static final int ADD_JAR_BUTTON = IDialogConstants.CLIENT_ID + 1;
- protected static final int ADD_FOLDER_BUTTON = IDialogConstants.CLIENT_ID + 2;
- protected static final int REMOVE_BUTTON = IDialogConstants.CLIENT_ID + 3;
-
-public ClasspathPage() {
-}
-/**
- * @see CustomizeAntPage#addButtonsToButtonGroup(Composite)
- */
-protected void addButtonsToButtonGroup(Composite parent) {
- createButton(parent, "preferences.customize.addJarButtonTitle", ADD_JAR_BUTTON);
- createButton(parent, "preferences.customize.addFolderButtonTitle", ADD_FOLDER_BUTTON);
- createSeparator(parent);
- createButton(parent, "preferences.customize.removeButtonTitle", REMOVE_BUTTON);
-}
-protected void addFolderButtonPressed() {
- DirectoryDialog dialog = new DirectoryDialog(tableViewer.getControl().getShell());
- String result = dialog.open();
- if (result != null) {
- try {
- URL url = new URL("file:" + result + "/");
- contentProvider.add(url);
- } catch (MalformedURLException e) {
- }
- }
-}
-protected void addJarButtonPressed() {
- FileDialog dialog = new FileDialog(tableViewer.getControl().getShell());
- dialog.setFilterExtensions(new String[] {"*.jar"});
- String result = dialog.open();
- if (result != null) {
- try {
- URL url = new URL("file:" + result);
- contentProvider.add(url);
- } catch (MalformedURLException e) {
- }
- }
-}
-/**
- * @see CustomizeAntPage#buttonPressed(int)
- */
-protected void buttonPressed(int buttonId) {
- switch (buttonId) {
- case ADD_JAR_BUTTON:
- addJarButtonPressed();
- break;
- case ADD_FOLDER_BUTTON:
- addFolderButtonPressed();
- break;
- case REMOVE_BUTTON:
- removeButtonPressed();
- break;
- }
-}
-/**
- * Creates and returns a tab item that contains this widget group.
- */
-public TabItem createTabItem(TabFolder folder) {
- TabItem item = new TabItem(folder, SWT.NONE);
- item.setText(Policy.bind("preferences.customize.classpathPageTitle"));
- final Image image = AntUIPlugin.getPlugin().getImageDescriptor(AntUIPlugin.IMG_CLASSPATH).createImage();
- item.setImage(image);
- item.setData(this);
- item.setControl(createControl(folder));
- item.addDisposeListener(new DisposeListener() {
- public void widgetDisposed(DisposeEvent e) {
- if (image != null)
- image.dispose();
- }
- });
-
- return item;
-}
-
-
-
-
-
-
-
-
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntContentProvider.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntContentProvider.java
deleted file mode 100644
index 566c4bf..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntContentProvider.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.*;
-
-/**
- * Maintains a generic list of objects that are shown in a table viewer.
- */
-public class CustomizeAntContentProvider implements IStructuredContentProvider {
- protected final ArrayList elements = new ArrayList();
- protected TableViewer viewer;
-
-void add(Object o) {
- elements.add(o);
- viewer.add(o);
-}
-public void dispose() {
-}
-public Object[] getElements(Object inputElement) {
- return (Object[]) elements.toArray(new Object[elements.size()]);
-}
-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- this.viewer = (TableViewer)viewer;
- elements.clear();
- if (newInput != null)
- elements.addAll((List)newInput);
-}
-void remove(Object o) {
- elements.remove(o);
- viewer.remove(o);
-}
-}
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntLabelProvider.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntLabelProvider.java
deleted file mode 100644
index 646d447..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntLabelProvider.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-import java.net.URL;
-
-import org.eclipse.ant.internal.core.Task;
-import org.eclipse.ant.internal.core.Type;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Label provider for the items in the custmomize ant preference page:
- * URLs, Tasks, and Types.
- */
-public class CustomizeAntLabelProvider extends LabelProvider implements ITableLabelProvider {
- protected Image folderImage;
- protected Image jarImage;
- protected Image taskImage;
- protected Image typeImage;
-
-public CustomizeAntLabelProvider() {
-}
-public void dispose() {
- //note: folder and task are shared images
- folderImage = null;
- taskImage = null;
- if (jarImage != null) {
- jarImage.dispose();
- jarImage = null;
- }
- if (typeImage != null) {
- typeImage.dispose();
- typeImage = null;
- }
-}
-public Image getColumnImage(Object element, int columnIndex) {
- if (element instanceof URL) {
- URL url = (URL)element;
- if (url.getFile().endsWith("/")) {
- return folderImage();
- } else {
- return jarImage();
- }
- }
- if (element instanceof Task) {
- return taskImage();
- }
- if (element instanceof Type) {
- return typeImage();
- }
- return null;
-}
-public String getColumnText(Object element, int columnIndex) {
- if (element instanceof URL) {
- return ((URL)element).getFile();
- }
- if (element instanceof Task) {
- Task task = (Task)element;
- return task.getTaskName() + " (" + task.getLibrary().getFile()+ ": " + task.getClassName() + ")";
- }
- if (element instanceof Type) {
- Type type = (Type)element;
- return type.getTypeName() + " (" + type.getLibrary().getFile()+ ": " + type.getClassName() + ")";
- }
- return element.toString();
-}
-protected Image folderImage() {
- if (folderImage != null)
- return folderImage;
- folderImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
- return folderImage;
-}
-protected Image jarImage() {
- if (jarImage != null)
- return jarImage;
- jarImage = AntUIPlugin.getPlugin().getImageDescriptor(AntUIPlugin.IMG_JAR_FILE).createImage();
- return jarImage;
-}
-protected Image taskImage() {
- if (taskImage != null)
- return taskImage;
- taskImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_TASK_TSK);
- return taskImage;
-}
-protected Image typeImage() {
- if (typeImage != null)
- return typeImage;
- typeImage = AntUIPlugin.getPlugin().getImageDescriptor(AntUIPlugin.IMG_TYPE).createImage();
- return typeImage;
-}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntPage.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntPage.java
deleted file mode 100644
index dd35dbf..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntPage.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-
-
-/**
- * Abstract superclass for all tabs that contribute to the ant classpath
- * preference page.
- */
-public abstract class CustomizeAntPage extends Object {
- SelectionAdapter selectionAdapter = new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- buttonPressed(((Integer) e.widget.getData()).intValue());
- }
- };
- protected FontMetrics fontMetrics;
- protected TableViewer tableViewer;
- protected CustomizeAntContentProvider contentProvider;
-
-/**
- * This is where subclasses should add the buttons that are interesting for their page.
- */
-protected abstract void addButtonsToButtonGroup(Composite parent);
-/**
- * Should be overwritten by subclasses to handle button behaviour.
- */
-protected void buttonPressed(int buttonId) {
-}
-
-/**
- * Creates and returns a button with appropriate size and layout.
- * @param parent
- * @param labelKey The button text key, used to fetch the appropriate
- * message from the externalized catalog.
- */
-protected Button createButton(Composite parent, String labelKey, int buttonId) {
- Button button = new Button(parent, SWT.PUSH);
- button.setText(Policy.bind(labelKey));
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
- data.widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
- data.heightHint = Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_HEIGHT);
- button.setLayoutData(data);
- button.setData(new Integer(buttonId));
- button.addSelectionListener(selectionAdapter);
- return button;
-}
-protected void createButtonGroup(Composite top) {
- Composite buttonGroup = new Composite(top, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- buttonGroup.setLayout(layout);
- buttonGroup.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-
- addButtonsToButtonGroup(buttonGroup);
-}
-
-protected Label createSeparator(Composite parent) {
- Label separator= new Label(parent, SWT.NONE);
- separator.setVisible(false);
- GridData gd= new GridData();
- gd.horizontalAlignment= gd.FILL;
- gd.verticalAlignment= gd.BEGINNING;
- gd.heightHint= 4;
- separator.setLayoutData(gd);
- return separator;
-}
-protected void createTable(Composite parent) {
- Table table = new Table(parent, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
- table.setLayoutData(new GridData(GridData.FILL_BOTH));
- tableViewer = new TableViewer(table);
- contentProvider = new CustomizeAntContentProvider();
- tableViewer.setContentProvider(contentProvider);
- tableViewer.setLabelProvider(new CustomizeAntLabelProvider());
- tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- tableSelectionChanged((IStructuredSelection)event.getSelection());
- }
- });
-}
-
-/**
- * Returns the currently listed objects in the table. Returns null
- * if this widget has not yet been created or has been disposed.
- */
-public List getContents() {
- if (tableViewer == null || tableViewer.getControl().isDisposed())
- return null;
- Object[] elements = contentProvider.getElements(tableViewer.getInput());
- return Arrays.asList(elements);
-}
-protected void removeButtonPressed() {
- IStructuredSelection selection = (IStructuredSelection)tableViewer.getSelection();
- Object[] selected = selection.toArray();
- for (int i = 0; i < selected.length; i++) {
- contentProvider.remove(selected[i]);
- }
-}
-/**
- * Sets the contents of the table on this page. Has no effect
- * if this widget has not yet been created or has been disposed.
- */
-public void setInput(List inputs) {
- if (tableViewer == null || tableViewer.getControl().isDisposed())
- return;
- tableViewer.setInput(inputs);
- tableSelectionChanged((IStructuredSelection)tableViewer.getSelection());
-}
-/**
- * Subclasses may override to add behaviour when table selection changes.
- */
-protected void tableSelectionChanged(IStructuredSelection newSelection) {
-}
-
-/**
- * Creates and returns a control that contains this widget group.
- */
-public Control createControl(Composite parent) {
- Composite top = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- layout.marginHeight = 2;
- layout.marginWidth = 2;
- top.setLayout(layout);
-
- //get font metrics for DLU -> pixel conversions
- GC gc = new GC(top);
- gc.setFont(top.getFont());
- fontMetrics = gc.getFontMetrics();
- gc.dispose();
-
- createTable(top);
- createButtonGroup(top);
- return top;
-}
-
-}
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntPreferencePage.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntPreferencePage.java
deleted file mode 100644
index a5c71e0..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/CustomizeAntPreferencePage.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-import java.net.URL;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.internal.core.*;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-/**
- * A page to set the preferences for the classpath
- */
-public class CustomizeAntPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
- protected ClasspathPage jarsPage;
- protected TasksPage tasksPage;
- protected TypesPage typesPage;
-/**
- * Create the console page.
- */
-public CustomizeAntPreferencePage() {
- setDescription(Policy.bind("preferences.customize.description"));
- IPreferenceStore store = AntUIPlugin.getPlugin().getPreferenceStore();
- setPreferenceStore(store);
-}
-/**
- * @see IWorkbenchPreferencePage#init
- */
-public void init(IWorkbench workbench) {
-}
-protected Control createContents(Composite parent) {
- TabFolder folder= new TabFolder(parent, SWT.NONE);
- folder.setLayout(new GridLayout());
- folder.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- jarsPage = new ClasspathPage();
- jarsPage.createTabItem(folder);
- tasksPage = new TasksPage();
- tasksPage.createTabItem(folder);
- typesPage = new TypesPage();
- typesPage.createTabItem(folder);
-
- //set the page inputs
- AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
- jarsPage.setInput(Arrays.asList(prefs.getCustomURLs()));
- tasksPage.setInput(Arrays.asList(prefs.getCustomTasks()));
- typesPage.setInput(Arrays.asList(prefs.getCustomTypes()));
-
- return folder;
-}
-/**
- * @see PreferencePage#performDefaults()
- */
-protected void performDefaults() {
- super.performDefaults();
- AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
- jarsPage.setInput(Arrays.asList(prefs.getDefaultCustomURLs()));
- tasksPage.setInput(Arrays.asList(prefs.getCustomTasks()));
- typesPage.setInput(Arrays.asList(prefs.getCustomTypes()));
-}
-/**
- * @see IPreferencePage#performOk()
- */
-public boolean performOk() {
- List contents = jarsPage.getContents();
- if (contents != null) {
- URL[] urls = (URL[]) contents.toArray(new URL[contents.size()]);
- AntCorePlugin.getPlugin().getPreferences().setCustomURLs(urls);
- }
- contents = tasksPage.getContents();
- if (contents != null) {
- Task[] tasks= (Task[]) contents.toArray(new Task[contents.size()]);
- AntCorePlugin.getPlugin().getPreferences().setCustomTasks(tasks);
- }
- contents = typesPage.getContents();
- if (contents != null) {
- Type[] types= (Type[]) contents.toArray(new Type[contents.size()]);
- AntCorePlugin.getPlugin().getPreferences().setCustomTypes(types);
- }
- return super.performOk();
-}
-}
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 4707557..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 bbe85d1..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 1cb9a7b..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/Policy.java
+++ /dev/null
@@ -1,107 +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.*;
-
-public class Policy {
- private static ResourceBundle bundle;
- 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: " + AntUIPlugin.PROPERTIES_MESSAGES;
- }
- 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(AntUIPlugin.PROPERTIES_MESSAGES, 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 df56e12..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 1ee5709..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/TasksPage.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TasksPage.java
deleted file mode 100644
index 04286b4..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TasksPage.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-import org.eclipse.ant.internal.core.Task;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A widget group for the tasks tab of the ant classpath preference page.
- */
-public class TasksPage extends CustomizeAntPage {
- protected Button editButton;
- protected Button removeButton;
-
- //button constants
- protected static final int ADD_TASK_BUTTON= IDialogConstants.CLIENT_ID + 1;
- protected static final int EDIT_TASK_BUTTON = IDialogConstants.CLIENT_ID + 2;
- protected static final int REMOVE_BUTTON = IDialogConstants.CLIENT_ID + 3;
-
-public TasksPage() {
-}
-protected void addButtonsToButtonGroup(Composite parent) {
- createButton(parent, "preferences.customize.addTaskButtonTitle", ADD_TASK_BUTTON);
- editButton = createButton(parent, "preferences.customize.editTaskButtonTitle", EDIT_TASK_BUTTON);
- createSeparator(parent);
- removeButton = createButton(parent, "preferences.customize.removeButtonTitle", REMOVE_BUTTON);
-}
-protected void addTaskButtonPressed() {
- String title = Policy.bind("preferences.customize.addTaskDialogTitle");
- String msg = Policy.bind("preferences.customize.addTaskDialogDescription");
- AddTaskDialog dialog = new AddTaskDialog(tableViewer.getControl().getShell(), title, msg);
- if (dialog.open() == Dialog.CANCEL)
- return;
-
- Task task = new Task();
- task.setTaskName(dialog.getTaskName());
- task.setClassName(dialog.getClassName());
- task.setLibrary(dialog.getLibrary());
- contentProvider.add(task);
-}
-protected void buttonPressed(int buttonId) {
- switch (buttonId) {
- case ADD_TASK_BUTTON:
- addTaskButtonPressed();
- break;
- case EDIT_TASK_BUTTON:
- editTaskButtonPressed();
- break;
- case REMOVE_BUTTON:
- removeButtonPressed();
- break;
- }
-}
-/**
- * Creates and returns a tab item that contains this widget group.
- */
-public TabItem createTabItem(TabFolder folder) {
- TabItem item = new TabItem(folder, SWT.NONE);
- item.setText(Policy.bind("preferences.customize.tasksPageTitle"));
- item.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_TASK_TSK));
- item.setData(this);
- item.setControl(createControl(folder));
- return item;
-}
-protected void editTaskButtonPressed() {
- String title = Policy.bind("preferences.customize.editTaskDialogTitle");
- String msg = Policy.bind("preferences.customize.editTaskDialogDescription");
- AddTaskDialog dialog = new AddTaskDialog(tableViewer.getControl().getShell(), title, msg);
- IStructuredSelection selection = (IStructuredSelection)tableViewer.getSelection();
- if (selection.isEmpty())
- return;
- Task task = (Task)selection.getFirstElement();
- dialog.setClassName(task.getClassName());
- dialog.setTaskName(task.getTaskName());
- dialog.setLibrary(task.getLibrary());
- if (dialog.open() == Dialog.CANCEL)
- return;
-
- task.setTaskName(dialog.getTaskName());
- task.setClassName(dialog.getClassName());
- task.setLibrary(dialog.getLibrary());
- tableViewer.update(task, null);
-}
-/**
- * @see CustomizeAntPage#tableSelectionChanged(ISelection)
- */
-protected void tableSelectionChanged(IStructuredSelection newSelection) {
- int size = newSelection.size();
- editButton.setEnabled(size == 1);
- removeButton.setEnabled(size > 0);
-}
-
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TypesPage.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TypesPage.java
deleted file mode 100644
index a04d5be..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TypesPage.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-import org.eclipse.ant.internal.core.Type;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-
-/**
- * A widget group for the types tab of the ant classpath preference page.
- */
-public class TypesPage extends CustomizeAntPage {
- protected Button editButton;
- protected Button removeButton;
-
- //button constants
- protected static final int ADD_TYPE_BUTTON= IDialogConstants.CLIENT_ID + 1;
- protected static final int EDIT_TYPE_BUTTON = IDialogConstants.CLIENT_ID + 2;
- protected static final int REMOVE_BUTTON = IDialogConstants.CLIENT_ID + 3;
-
-public TypesPage() {
-}
-protected void addButtonsToButtonGroup(Composite parent) {
- createButton(parent, "preferences.customize.addTypeButtonTitle", ADD_TYPE_BUTTON);
- editButton = createButton(parent, "preferences.customize.editTypeButtonTitle", EDIT_TYPE_BUTTON);
- createSeparator(parent);
- removeButton = createButton(parent, "preferences.customize.removeButtonTitle", REMOVE_BUTTON);
-}
-protected void addTypeButtonPressed() {
- String title = Policy.bind("preferences.customize.addTypeDialogTitle");
- String msg = Policy.bind("preferences.customize.addTypeDialogDescription");
- AddTaskDialog dialog = new AddTaskDialog(tableViewer.getControl().getShell(), title, msg);
- if (dialog.open() == Dialog.CANCEL)
- return;
-
- Type type = new Type();
- type.setTypeName(dialog.getTaskName());
- type.setClassName(dialog.getClassName());
- type.setLibrary(dialog.getLibrary());
- contentProvider.add(type);
-}
-protected void buttonPressed(int buttonId) {
- switch (buttonId) {
- case ADD_TYPE_BUTTON:
- addTypeButtonPressed();
- break;
- case EDIT_TYPE_BUTTON:
- editTypeButtonPressed();
- break;
- case REMOVE_BUTTON:
- removeButtonPressed();
- break;
- }
-}
-public TabItem createTabItem(TabFolder folder) {
- TabItem item = new TabItem(folder, SWT.NONE);
- item.setText(Policy.bind("preferences.customize.typesPageTitle"));
- final Image image = AntUIPlugin.getPlugin().getImageDescriptor(AntUIPlugin.IMG_TYPE).createImage();
- item.setImage(image);
- item.setData(this);
- item.setControl(createControl(folder));
- item.addDisposeListener(new DisposeListener() {
- public void widgetDisposed(DisposeEvent e) {
- if (image != null)
- image.dispose();
- }
- });
- return item;
-}
-protected void editTypeButtonPressed() {
- String title = Policy.bind("preferences.customize.editTypeDialogTitle");
- String msg = Policy.bind("preferences.customize.editTypeDialogDescription");
- AddTaskDialog dialog = new AddTaskDialog(tableViewer.getControl().getShell(), title, msg);
- IStructuredSelection selection = (IStructuredSelection)tableViewer.getSelection();
- if (selection.isEmpty())
- return;
- Type type= (Type)selection.getFirstElement();
- dialog.setClassName(type.getClassName());
- dialog.setTaskName(type.getTypeName());
- dialog.setLibrary(type.getLibrary());
- if (dialog.open() == Dialog.CANCEL)
- return;
-
- type.setTypeName(dialog.getTaskName());
- type.setClassName(dialog.getClassName());
- type.setLibrary(dialog.getLibrary());
- tableViewer.update(type, null);
-}
-/**
- * @see CustomizeAntPage#tableSelectionChanged(ISelection)
- */
-protected void tableSelectionChanged(IStructuredSelection newSelection) {
- int size = newSelection.size();
- editButton.setEnabled(size == 1);
- removeButton.setEnabled(size > 0);
-}
-}
\ No newline at end of file
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 bc7e3c4..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/messages.properties
+++ /dev/null
@@ -1,114 +0,0 @@
-### Ant UI plugin message catalog
-
-
-### wizard
-wizard.title = Run Ant
-wizard.executeAntScriptTitle = Execute Ant Script
-wizard.executeAntScriptDescription = Select the targets to execute.
-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 = Preferred output level
-preferences.info = &Information (normal)
-preferences.verbose = &Verbose
-preferences.debug = De&bug
-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:
-
-preferences.customize.description = Customize the classpath, tasks and types used when running Ant scripts from Eclipse.
-preferences.customize.classpathPageTitle = Classpath
-preferences.customize.tasksPageTitle = Tasks
-preferences.customize.typesPageTitle = Types
-preferences.customize.addFolderButtonTitle = Add &Folder...
-preferences.customize.addJarButtonTitle = Add &Jar...
-preferences.customize.defaultButtonTitle = Restore &Defaults
-preferences.customize.removeButtonTitle = &Remove
-preferences.customize.addTypeButtonTitle = &Add Type
-preferences.customize.editTypeButtonTitle = &Edit Type
-preferences.customize.addTaskButtonTitle = &Add Task
-preferences.customize.editTaskButtonTitle = &Edit Task
-preferences.customize.addTaskDialogName = &Name
-preferences.customize.addTaskDialogClass = &Class
-preferences.customize.addTaskDialogLibrary = &Library
-preferences.customize.addTaskDialogDescription = Enter a name, java class, and library for your custom task.
-preferences.customize.addTaskDialogTitle = Add Task
-preferences.customize.editTaskDialogDescription = Modify the name, java class, and library of your custom task
-preferences.customize.editTaskDialogTitle = Edit Task
-preferences.customize.addTypeDialogDescription = Enter a name, java class, and library for your custom type.
-preferences.customize.addTypeDialogTitle = Add Type
-preferences.customize.editTypeDialogDescription = Modify the name, java class, and library of your custom type
-preferences.customize.editTypeDialogTitle = Edit Type
-
-### 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 = S&how Output of Selected Element Only
-console.showCompleteOutput = Show &Complete Output
-console.antScript = Ant Script
-console.project = Project
-
-### launcher
-launcher.noFile = No file recently executed.
-
-### Ant builder property page
-builderProperties.description= Tool scripts and external commands can be configured to run as part of the \n\
-incremental build process. Use this page to add, remove, and configure tool \n\
-scripts to run when this project is built.
-
-### 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/ant/org.eclipse.ant.ui/src_ant/org/eclipse/ant/internal/ui/ant/UIBuildLogger.java b/ant/org.eclipse.ant.ui/src_ant/org/eclipse/ant/internal/ui/ant/UIBuildLogger.java
deleted file mode 100644
index a2e79a5..0000000
--- a/ant/org.eclipse.ant.ui/src_ant/org/eclipse/ant/internal/ui/ant/UIBuildLogger.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package org.eclipse.ant.internal.ui.ant;
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Common Public License v0.5
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v05.html
-
-**********************************************************************/
-
-import java.io.PrintStream;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.apache.tools.ant.*;
-import org.eclipse.ant.internal.ui.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Display;
-
-public class UIBuildLogger implements BuildLogger {
-
- protected int priorityFilter = Project.MSG_INFO;
- protected IProgressMonitor monitor;
- private int logLength = 0;
- private int lastTargetEndIndex = 0;
-
-public UIBuildLogger() {
- AntUIPlugin plugin = AntUIPlugin.getPlugin();
- this.monitor = Policy.monitorFor(plugin.getCurrentProgressMonitor());
-}
-
-/**
- * @see BuildListener#buildStarted(BuildEvent)
- */
-public void buildStarted(BuildEvent event) {
- checkCanceled();
-}
-
-/**
- * @see BuildListener#buildFinished(BuildEvent)
- */
-public void buildFinished(BuildEvent event) {
- checkCanceled();
- monitor.done();
- handleException(event);
-}
-
-protected void handleException(BuildEvent event) {
- Throwable exception = event.getException();
- if (exception == null)
- return;
- logMessage(Policy.bind("exception.buildException", exception.toString()), Project.MSG_ERR);
-}
-
-/**
- * @see BuildListener#targetStarted(BuildEvent)
- */
-public void targetStarted(BuildEvent event) {
- checkCanceled();
- createNewOutputStructureElement(event.getTarget().getName(), logLength);
-}
-
-protected void refreshConsoleTrees() {
- final Vector consoles = AntConsole.getInstances();
- if (consoles.size() == 0)
- return;
- // we get the display from the console #0 (that exists for sure because consoles!=null)
- Display display = ((AntConsole) consoles.get(0)).getSite().getShell().getDisplay();
- // create a new thread for synchronizing all the refresh operations
- display.syncExec(new Runnable() {
- public void run() {
- for (Iterator iterator = consoles.iterator(); iterator.hasNext();) {
- AntConsole console = (AntConsole) iterator.next();
- console.refreshTree();
- }
- }
- });
-}
-
-protected void createNewOutputStructureElement(String name, int index) {
- for (Iterator iterator = AntConsole.getInstances().iterator(); iterator.hasNext();) {
- AntConsole console = (AntConsole) iterator.next();
- OutputStructureElement newElement = new OutputStructureElement(name, console.getCurrentOutputStructureElement(), index);
- console.setCurrentOutputStructureElement(newElement);
- }
-}
-
-/**
- * @see BuildListener#targetFinished(BuildEvent)
- */
-public void targetFinished(BuildEvent event) {
- checkCanceled();
- monitor.worked(1);
- handleException(event);
- finishCurrentOutputStructureElement();
- // store the end index of this target's log (so that we can use it later)
- lastTargetEndIndex = logLength;
- refreshConsoleTrees();
-}
-
-/**
- * @see BuildListener#taskStarted(BuildEvent)
- */
-public void taskStarted(BuildEvent event) {
- checkCanceled();
- createNewOutputStructureElement(event.getTask().getTaskName());
-}
-
-/**
- * @see BuildListener#taskFinished(BuildEvent)
- */
-public void taskFinished(BuildEvent event) {
- checkCanceled();
- handleException(event);
- finishCurrentOutputStructureElement();
- refreshConsoleTrees();
-}
-
-/**
- * @see BuildListener#messageLogged(BuildEvent)
- */
-public void messageLogged(BuildEvent event) {
- checkCanceled();
- logMessage(event.getMessage(), event.getPriority());
-}
-
-protected void logMessage(String message, int priority) {
- if (priority > priorityFilter)
- return;
- message += '\n';
- for (Iterator iterator = AntConsole.getInstances().iterator(); iterator.hasNext();) {
- AntConsole console = (AntConsole) iterator.next();
- console.append(message, priority);
- }
- logLength += message.length();
-}
-
-protected void finishCurrentOutputStructureElement() {
- for (Iterator iterator = AntConsole.getInstances().iterator(); iterator.hasNext();) {
- AntConsole console = (AntConsole) iterator.next();
- // sets the index that indicates the end of the log part linked to this element
- OutputStructureElement output = console.getCurrentOutputStructureElement();
- output.setEndIndex(logLength);
- // and sets the current element to the parent of the element
- console.setCurrentOutputStructureElement(output.getParent());
- }
-}
-
-protected void checkCanceled() {
- if (monitor == null)
- return;
- if (monitor.isCanceled())
- throw new BuildCanceledException();
-}
-
-protected void createNewOutputStructureElement(String name) {
- createNewOutputStructureElement(name, logLength);
-}
-
-public void setMessageOutputLevel(int level) {
- this.priorityFilter = level;
-}
-
-public void setEmacsMode(boolean emacsMode) {
-}
-
-public void setErrorPrintStream(PrintStream err) {
-}
-
-public void setOutputPrintStream(PrintStream output) {
-}
-}
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/.cvsignore b/platform/org.eclipse.sdk/.cvsignore
deleted file mode 100644
index 3a4edf6..0000000
--- a/platform/org.eclipse.sdk/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-.project
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 768324e..0000000
--- a/platform/org.eclipse.sdk/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>
-<head>
-<title>About</title>
-<style type="text/css">
-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}
-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
-code { font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup { font-family: arial,helvetica,geneva; font-size: 10px}
-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li { font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect( ); margin-top: 5mm; margin-left: 3mm}
-</style>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<table border="0" cellspacing="5" cellpadding="2" width="100%" >
- <tr>
- <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>
- </tr>
- <tr>
- <td>
-<p>11th December, 2001</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in "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, "Program" will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL "Other License", any modifications, enhancements and/or
-other code and/or documentation "Modifications" uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-</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/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 5c5ebe3..0000000
--- a/platform/org.eclipse.sdk/platform.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-copyright = (c) Copyright IBM Corp. 2000, 2002. 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/product.ini b/platform/org.eclipse.sdk/product.ini
deleted file mode 100644
index 48c2ef5..0000000
--- a/platform/org.eclipse.sdk/product.ini
+++ /dev/null
@@ -1,17 +0,0 @@
-name = Eclipse Project SDK
-detailedName = %detailedName
-image = prod.gif
-version = 2.0 (pre-release)
-application = org.eclipse.ui.workbench
-appName = Eclipse
-productURL = http://www.eclipse.org
-aboutImage = about_prod.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 2c63923..0000000
--- a/platform/org.eclipse.sdk/product.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-copyright = (c) Copyright IBM Corp. 2000, 2002. 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 53e33b2..0000000
--- a/platform/org.eclipse.sdk/welcome.xml
+++ /dev/null
@@ -1,56 +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 > Other... . 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">Workbench > 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.team.cvs.ui" class="org.eclipse.team.internal.ccvs.ui.actions.ShowCVSPerspectiveAction">CVS Perspective</action>. Next, specify the location of
-your CVS repository. To do this choose <action pluginId="org.eclipse.team.cvs.ui" class="org.eclipse.team.internal.ccvs.ui.actions.NewCVSRepositoryAction">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.
-</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 8ee47b0..0000000
--- a/update/org.eclipse.update.core/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src/"/>
- <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
- <classpathentry kind="src" path="/org.eclipse.help"/>
- <classpathentry kind="src" path="/org.apache.xerces"/>
- <classpathentry kind="src" path="/org.eclipse.core.boot"/>
- <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/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 113c7d5..0000000
--- a/update/org.eclipse.update.core/.options
+++ /dev/null
@@ -1,9 +0,0 @@
-org.eclipse.update.core/debug=true
-org.eclipse.update.core/debug/warning=false
-org.eclipse.update.core/debug/parsing=fasle
-org.eclipse.update.core/debug/install=false
-org.eclipse.update.core/debug/configuration=false
-org.eclipse.update.core/debug/type=false
-org.eclipse.update.core/debug/web=false
-org.eclipse.update.core/debug/installhandler=false
-org.eclipse.update.core/debug/reconciler=false
diff --git a/update/org.eclipse.update.core/.project b/update/org.eclipse.update.core/.project
deleted file mode 100644
index dd666ca..0000000
--- a/update/org.eclipse.update.core/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.update.core</name>
- <comment></comment>
- <projects>
- <project>org.apache.xerces</project>
- <project>org.eclipse.core.boot</project>
- <project>org.eclipse.core.runtime</project>
- <project>org.eclipse.help</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ui.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ui.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.ui.PluginNature</nature>
- <nature>org.eclipse.team.cvs.core.cvsnature</nature>
- </natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.core/.vcm_meta b/update/org.eclipse.update.core/.vcm_meta
deleted file mode 100644
index 5e6ab6d..0000000
--- a/update/org.eclipse.update.core/.vcm_meta
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-description>
- <nature id="org.eclipse.jdt.core.javanature"/>
- <nature id="org.eclipse.pde.ui.PluginNature"/>
- <reference project-name="org.apache.xerces"/>
- <reference project-name="org.eclipse.core.boot"/>
- <reference project-name="org.eclipse.core.runtime"/>
- <reference project-name="org.eclipse.help"/>
- <builder name="org.eclipse.jdt.core.javabuilder">
- </builder>
- <builder name="org.eclipse.pde.ui.ManifestBuilder">
- </builder>
- <builder name="org.eclipse.pde.ui.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 993c3d9..0000000
--- a/update/org.eclipse.update.core/Scrapbook.jpage
+++ /dev/null
@@ -1,417 +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"));
-new java.net.URL("file",null,System.getProperty("user.home"));
-
-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("http://machine:8080/path space/file.abc#hello");
-java.net.URL url2 = new java.net.URL(url,"/ ");
-url2.getPath()
-
-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
-
-String[] ss = {"a", "b"};
-java.util.List list = new java.util.ArrayList(0);
-list.addAll(java.util.Arrays.asList(ss));
-list.add("c");
-list.size();
-
-java.util.List list = new java.util.ArrayList(0);
-list.add("1");
-list.add("2");
-list.add("3");
-list.add("4");
-list.add("5");
-list.add("6");
-list.add("7");
-while (list.size()>5){
- list.remove(0);
-}
-list.get(0)
-
-
-org.eclipse.update.internal.security.KeyStores k = new org.eclipse.update.internal.security.KeyStores();
-while (k.hasNext()){
- org.eclipse.update.internal.security.KeystoreHandle handle = (org.eclipse.update.internal.security.KeystoreHandle) k.next();
- System.out.println("KeyStore:"+handle.getLocation()+":"+handle.getType());
-}
-
-*****************************************
-OLD Feature Code
-
-
- /**
- */
- 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
- if (getSite() != null) {
- sourceURL = getSite().getSiteContentProvider().getArchivesReferences(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 URLEntry(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, INonPluginEntry[] dataToInstall, IProgressMonitor monitor) throws CoreException, IOException {
-
- URL sourceURL;
- // any other data
- INonPluginEntry[] entries = getNonPluginEntries();
- 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
- if (getSite() != null) {
- sourceURL = getSite().getSiteContentProvider().getArchivesReferences(dataEntryId);
- ((Site) targetFeature.getSite()).storeFeatureInfo(getIdentifier(), name, sourceURL.openStream());
- if (monitor != null) {
- monitor.worked(1);
- if (monitor.isCanceled()) {
- throw CANCEL_EXCEPTION;
- }
- }
- }// getSite==null
- }
- }
- }
-
-
- /**
- * Method install.
- * @param targetFeature
- * @param monitor
- * @throws CoreException
- */
- public void old_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
- INonPluginEntry[] dataEntries = getNonPluginEntries();
- 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(this);
- 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(this, 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 {
- //do not clean up TEMP drive
- // as other feature may be there... clean up when exiting the plugin
- }
- }
-
-
- /**
- * @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 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(IFeature feature) 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(IFeature feature, 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);
-
-
- /**
- * remove myself...
- */
- public void old_remove(IProgressMonitor monitor) throws CoreException {
-
- // remove the feature and the plugins if they are not used and not activated
-
- // get the plugins from the feature
- IPluginEntry[] pluginsToRemove = ((SiteLocal) SiteManager.getLocalSite()).getDeltaPluginEntries(this);
-
- try {
-
- // obtain the list of *Streamable Storage Unit*
- // from the archive
- if (monitor != null) {
- int total = pluginsToRemove == null ? 1 : pluginsToRemove.length + 1;
- monitor.beginTask("Uninstall feature " + getLabel(), total);
- }
- if (pluginsToRemove != null) {
- for (int i = 0; i < pluginsToRemove.length; i++) {
- if (monitor != null) {
- monitor.subTask("Removing plug-in: " + pluginsToRemove[i]);
- if (monitor.isCanceled()) {
- throw CANCEL_EXCEPTION;
- }
- }
-
- remove(pluginsToRemove[i]);
-
- if (monitor != null) {
- monitor.worked(1);
- if (monitor.isCanceled()) {
- throw CANCEL_EXCEPTION;
- }
- }
-
- }
- }
-
- // remove the Feature info
- String[] names = getStorageUnitNames(this);
- if (names != null) {
- if (monitor != null) {
- monitor.subTask("Removing Feature information");
- if (monitor.isCanceled()) {
- throw CANCEL_EXCEPTION;
- }
- }
-
- ((Site) this.getSite()).removeFeatureInfo(getIdentifier());
-
- 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 Uninstall", e);
- throw new CoreException(status);
- }
- }
-
- System.getProperty("java.io.tmpdir")(java.lang.String) /tmp
-
diff --git a/update/org.eclipse.update.core/about.html b/update/org.eclipse.update.core/about.html
deleted file mode 100644
index 768324e..0000000
--- a/update/org.eclipse.update.core/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>
-<head>
-<title>About</title>
-<style type="text/css">
-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}
-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
-code { font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup { font-family: arial,helvetica,geneva; font-size: 10px}
-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li { font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect( ); margin-top: 5mm; margin-left: 3mm}
-</style>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<table border="0" cellspacing="5" cellpadding="2" width="100%" >
- <tr>
- <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>
- </tr>
- <tr>
- <td>
-<p>11th December, 2001</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in "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, "Program" will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL "Other License", any modifications, enhancements and/or
-other code and/or documentation "Modifications" uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-</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 7d6d5f4..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,.options
diff --git a/update/org.eclipse.update.core/doc/hglegal.htm b/update/org.eclipse.update.core/doc/hglegal.htm
deleted file mode 100644
index cf2ced3..0000000
--- a/update/org.eclipse.update.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, 2002. All Rights Reserved.
-</body>
-</html>
diff --git a/update/org.eclipse.update.core/doc/ngibmcpy.gif b/update/org.eclipse.update.core/doc/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/update/org.eclipse.update.core/doc/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.core/doc/org.eclipse.update.core.featureTypes.html b/update/org.eclipse.update.core/doc/org.eclipse.update.core.featureTypes.html
deleted file mode 100644
index cbc2cfb..0000000
--- a/update/org.eclipse.update.core/doc/org.eclipse.update.core.featureTypes.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Install/Update Concrete Feature Type Implementation Factory</CENTER></H1>
-<H2>Identifier</H2>
-org.eclipse.update.core.org.eclipse.update.core.featureTypes<H2>Description</H2>
-[Enter description of this extension point]<H2>Markup</H2>
-<p><samp> <!ELEMENT extension (EMPTY)></samp>
-<br><samp> <!ATTLIST extension</samp>
-<br><samp> point CDATA #REQUIRED</samp>
-<br><samp> id CDATA #IMPLIED</samp>
-<br><samp> name CDATA #IMPLIED</samp>
-<br><samp> ></samp>
-<ul>
-<li><b>point</b> - </li><li><b>id</b> - </li><li><b>name</b> - </li></ul>
-<p><samp> <!ELEMENT feature-factory (EMPTY)></samp>
-<br><samp> <!ATTLIST feature-factory</samp>
-<br><samp> class CDATA #REQUIRED</samp>
-<br><samp> ></samp>
-<ul>
-<li><b>class</b> - </li></ul>
-<H2>Example</H2>
-[Enter extension point usage example here.]<H2>API Information</H2>
-[Enter API information here.]<H2>Supplied Implementation</H2>
-[Enter information about supplied implementation of this extension point.]</BODY>
-</HTML>
diff --git a/update/org.eclipse.update.core/doc/org.eclipse.update.core.installHandlers.html b/update/org.eclipse.update.core/doc/org.eclipse.update.core.installHandlers.html
deleted file mode 100644
index 4f8c7ca..0000000
--- a/update/org.eclipse.update.core/doc/org.eclipse.update.core.installHandlers.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Global Install Handlers</CENTER></H1>
-<H2>Identifier</H2>
-org.eclipse.update.core.installHandlers<H2>Description</H2>
-Extension point for registering global install handlers.<H2>Markup</H2>
-<p><samp> <!ELEMENT extension (EMPTY)></samp>
-<br><samp> <!ATTLIST extension</samp>
-<br><samp> point CDATA #REQUIRED</samp>
-<br><samp> id CDATA #IMPLIED</samp>
-<br><samp> name CDATA #IMPLIED</samp>
-<br><samp> ></samp>
-<ul>
-<li><b>point</b> - </li><li><b>id</b> - </li><li><b>name</b> - </li></ul>
-<p><samp> <!ELEMENT install-handler (EMPTY)></samp>
-<br><samp> <!ATTLIST install-handler</samp>
-<br><samp> class CDATA #REQUIRED</samp>
-<br><samp> ></samp>
-<ul>
-<li><b>class</b> - </li></ul>
-<H2>Example</H2>
-[Enter extension point usage example here.]<H2>API Information</H2>
-[Enter API information here.]<H2>Supplied Implementation</H2>
-[Enter information about supplied implementation of this extension point.]</BODY>
-</HTML>
diff --git a/update/org.eclipse.update.core/doc/org.eclipse.update.core.siteTypes.html b/update/org.eclipse.update.core/doc/org.eclipse.update.core.siteTypes.html
deleted file mode 100644
index 073ed77..0000000
--- a/update/org.eclipse.update.core/doc/org.eclipse.update.core.siteTypes.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Install/Update Concrete Site Type Implementation Factory</CENTER></H1>
-<H2>Identifier</H2>
-org.eclipse.update.core.org.eclipse.update.core.siteTypes<H2>Description</H2>
-[Enter description of this extension point]<H2>Markup</H2>
-<p><samp> <!ELEMENT extension (EMPTY)></samp>
-<br><samp> <!ATTLIST extension</samp>
-<br><samp> point CDATA #REQUIRED</samp>
-<br><samp> id CDATA #IMPLIED</samp>
-<br><samp> name CDATA #IMPLIED</samp>
-<br><samp> ></samp>
-<ul>
-<li><b>point</b> - </li><li><b>id</b> - </li><li><b>name</b> - </li></ul>
-<p><samp> <!ELEMENT site-factory (EMPTY)></samp>
-<br><samp> <!ATTLIST site-factory</samp>
-<br><samp> class CDATA #REQUIRED</samp>
-<br><samp> ></samp>
-<ul>
-<li><b>class</b> - </li></ul>
-<H2>Example</H2>
-[Enter extension point usage example here.]<H2>API Information</H2>
-[Enter API information here.]<H2>Supplied Implementation</H2>
-[Enter information about supplied implementation of this extension point.]</BODY>
-</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 0fc887d..0000000
--- a/update/org.eclipse.update.core/plugin.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- id="org.eclipse.update.core"
- name="%name"
- version="2.0.0"
- provider-name="%provider-name"
- class="org.eclipse.update.internal.core.UpdateManagerPlugin">
-
- <runtime>
- <library name="updatecore.jar">
- <export name="*"/>
- </library>
- </runtime>
- <requires>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.help"/>
- <import plugin="org.apache.xerces"/>
- <import plugin="org.eclipse.core.boot"/>
- </requires>
-
- <extension-point id="featureTypes" name="Install/Update Concrete Feature Type Implementation Factory"/>
- <extension-point id="siteTypes" name="Install/Update Concrete Site Type Implementation Factory"/>
- <extension-point id="installHandlers" name="Install/Update Global Install Handlers"/>
-
- <extension
- id="reconciler"
- point="org.eclipse.core.runtime.applications">
- <application
- run="org.eclipse.update.internal.core.UpdateManagerReconciler">
- </application>
- </extension>
-
- <extension
- id="packaged"
- point="org.eclipse.update.core.featureTypes">
- <feature-factory
- class="org.eclipse.update.internal.core.FeaturePackagedFactory">
- </feature-factory>
- </extension>
-
- <extension
- id="installed"
- point="org.eclipse.update.core.featureTypes">
- <feature-factory
- class="org.eclipse.update.internal.core.FeatureExecutableFactory">
- </feature-factory>
- </extension>
-
- <extension
- id="http"
- point="org.eclipse.update.core.siteTypes">
- <site-factory
- class="org.eclipse.update.internal.core.SiteURLFactory">
- </site-factory>
- </extension>
-
- <extension
- id="file"
- point="org.eclipse.update.core.siteTypes">
- <site-factory
- class="org.eclipse.update.internal.core.SiteFileFactory">
- </site-factory>
- </extension>
-
- <extension
- id="DefaultInstallHandler"
- point="org.eclipse.update.core.installHandlers">
- <install-handler
- class="org.eclipse.update.internal.core.DefaultInstallHandler">
- </install-handler>
- </extension>
-
-</plugin>
diff --git a/update/org.eclipse.update.core/schema/org.eclipse.update.core.featureTypes.xsd b/update/org.eclipse.update.core/schema/org.eclipse.update.core.featureTypes.xsd
deleted file mode 100644
index a7cefaf..0000000
--- a/update/org.eclipse.update.core/schema/org.eclipse.update.core.featureTypes.xsd
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.update.core">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.update.core" id="featureTypes" name="Feature Type Factory"/>
- </appInfo>
- <documentation>
- The platform update mechanism supports pluggable feature type
-implementations. A new feature type can be registered in order to support
-alternate packaging and verification schemes.
-<br><br>
-The <code>featureTypes</code>
-extension point allows alternate feature implementations to be
-registered using a symbolic type identifier. Whenever the
-type is referenced using this identifier, the supplied factory
-is used to create the correct concrete feature implementation.
- </documentation>
-</annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- must be specified as <b>org.eclipse.update.core.featureTypes</b>
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- must be specified. Identifies the new feature type
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- optional displayable label for the new feature type
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="feature-factory">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- fully qualified name of the factory class for the identified feature type
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of new feature type registration.
-<br><br>
-<code>
-&lt;extension<br>
-&nbsp;&nbsp;&nbsp;id="custom"<br>
-&nbsp;&nbsp;&nbsp;point="org.eclipse.update.core.featureTypes"<br>
-&nbsp;&nbsp;&nbsp;name="Custom packaged feature"&gt;<br>
-<br>
-&nbsp;&nbsp;&nbsp;&lt;feature-factory<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class="com.xyz.update.CustomFeatureFactory"&gt;<br>
-&nbsp;&nbsp;&nbsp;&lt;/feature-factory&gt;<br>
-&lt;/extension&gt;<br>
-</code>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Registered factory classes must implement
-<code><b>org.eclipse.update.core.IFeatureFactory</b></code>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- The platform supplies two standard implementations of feature
-types. One representing the default packaged feature type, and
-the other representing an installed feature type.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- <br><br><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2002. All Rights Reserved." BORDER=0 height=12 width=195></a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/update/org.eclipse.update.core/schema/org.eclipse.update.core.installHandlers.xsd b/update/org.eclipse.update.core/schema/org.eclipse.update.core.installHandlers.xsd
deleted file mode 100644
index 0939931..0000000
--- a/update/org.eclipse.update.core/schema/org.eclipse.update.core.installHandlers.xsd
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.update.core">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.update.core" id="installHandlers" name="Global Install Handlers"/>
- </appInfo>
- <documentation>
- Extension point for registering global install handlers.
- </documentation>
-</annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="install-handler">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/update/org.eclipse.update.core/schema/org.eclipse.update.core.siteTypes.xsd b/update/org.eclipse.update.core/schema/org.eclipse.update.core.siteTypes.xsd
deleted file mode 100644
index 82b3b9e..0000000
--- a/update/org.eclipse.update.core/schema/org.eclipse.update.core.siteTypes.xsd
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.update.core.org.eclipse.update.core">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.update.core.org.eclipse.update.core" id="siteTypes" name="Install/Update Concrete Site Type Implementation Factory"/>
- </appInfo>
- <documentation>
- [Enter description of this extension point]
- </documentation>
-</annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="site-factory">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IActivity.java b/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IActivity.java
deleted file mode 100644
index 4f22c26..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IActivity.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package org.eclipse.update.configuration;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.util.Date;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Install activity.
- * Represents a record of an installation action performed
- * on a particular installation configuration.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.update.configuration.IInstallConfiguration
- * @since 2.0
- */
-public interface IActivity extends IAdaptable {
-
- /**
- * Indicates feature installation action
- *
- * @since 2.0
- */
- public static final int ACTION_FEATURE_INSTALL = 1;
-
- /**
- * Indicates feature removal (uninstallation) action
- *
- * @since 2.0
- */
- public static final int ACTION_FEATURE_REMOVE = 2;
-
- /**
- * Indicates an addition of a site to a configuration
- *
- * @since 2.0
- */
- public static final int ACTION_SITE_INSTALL = 3;
-
- /**
- * Indicates removal of a site from a configuration
- *
- * @since 2.0
- */
- public static final int ACTION_SITE_REMOVE = 4;
-
- /**
- * Indicates feature unconfiguration action
- *
- * @since 2.0
- */
- public static final int ACTION_UNCONFIGURE = 5;
-
- /**
- * Indicates feature configuration action
- *
- * @since 2.0
- */
- public static final int ACTION_CONFIGURE = 6;
-
- /**
- * Indicates reverting to a prior configuration state
- *
- * @since 2.0
- */
- public static final int ACTION_REVERT = 7;
-
- /**
- * Indicates reconcilliation with changes made directly to the site
- * installation directory
- *
- * @since 2.0
- */
- public static final int ACTION_RECONCILIATION = 8;
-
- /**
- * Indicates the action completed cussessfully
- *
- * @since 2.0
- */
- public static final int STATUS_OK = 0;
-
- /**
- * Indicates the action did not complete successfully
- *
- * @since 2.0
- */
- public static final int STATUS_NOK = 1;
-
- /**
- * Returns the action code for this activity
- *
- * @see #ACTION_FEATURE_INSTALL
- * @see #ACTION_FEATURE_REMOVE
- * @see #ACTION_SITE_INSTALL
- * @see #ACTION_SITE_REMOVE
- * @see #ACTION_UNCONFIGURE
- * @see #ACTION_CONFIGURE
- * @see #ACTION_REVERT
- * @see #ACTION_RECONCILIATION
- * @return action code, as defined in this interface
- * @since 2.0
- */
- public int getAction();
-
- /**
- * Returns the displayable label for this action
- *
- * @return diplayable label for action
- * @since 2.0
- */
- public String getLabel();
-
- /**
- * Returns the creation date of this activity
- *
- * @return activity date
- * @since 2.0
- */
- public Date getDate();
-
- /**
- * Returns the activity completion status
- *
- * @see #STATUS_OK
- * @see #STATUS_NOK
- * @return completion status, as defined in this interface
- * @since 2.0
- */
- public int getStatus();
-
- /**
- * Returns the installation configuration that was the result of
- * this action
- *
- * @return installation configuration
- * @since 2.0
- */
- public IInstallConfiguration getInstallConfiguration();
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IConfiguredSite.java b/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IConfiguredSite.java
deleted file mode 100644
index 7a0386e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IConfiguredSite.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package org.eclipse.update.configuration;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.IFeature;
-import org.eclipse.update.core.IFeatureReference;
-import org.eclipse.update.core.ISite;
-
-
-
-/*
- * (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 IConfiguredSite extends IAdaptable {
-
-
- /**
- * Returns the Site
- * @since 2.0
- */
-
- ISite getSite();
-
- /**
- * Returns true if features can be installed in this Site
- * @since 2.0
- */
-
- boolean isUpdateable();
-
-
- /**
- * sets if the site is an installable site
- * @since 2.0
- */
-
- void isUpdateable(boolean installable);
-
-
- /**
- *
- * @param feature the Feature to install
- * @param verifier FIXME
- * @param monitor the Progress Monitor
- * @since 2.0
- */
-
- IFeatureReference install(IFeature feature,IVerificationListener verificationListener, IProgressMonitor monitor) throws CoreException;
-
- /**
- *
- * @param feature the Feature to remove
- * @param monitor the Progress Monitor
- * @since 2.0
- */
-
- void remove(IFeature feature, IProgressMonitor monitor) throws CoreException;
-
- /**
- * returns true if the Feature is broken (a plugin is missing from the running one).
- * @return Returns a boolean
- * @since 2.0
- */
- boolean isBroken(IFeature feature);
-
-
- /**
- * Configure the DefaultFeature to be available at next startup
- * @since 2.0
- */
-
- void configure(IFeature feature) throws CoreException;
-
- /**
- * Unconfigure the feature from the execution path.
- * returns false if the unconfigure is not sucessful
- * @since 2.0
- */
-
- boolean unconfigure(IFeature feature) throws CoreException;
-
- /**
- * returns the feature used in this configurationSite
- * This is a subset of the feature of the site
- * @since 2.0
- */
-
- IFeatureReference[] getConfiguredFeatures();
-
- /**
- * returns the feature references filtered by this ConfigurationSite
- * This is the sum of Configured + unconfigured features
- * They may not match exactly the FeaturesReferences of teh Site (ie during reconciliation)
- * @since 2.0
- */
-
- IFeatureReference[] getFeaturesReferences();
-
-
-
- /**
- * returns the InstallConfiguration this Configuration Site is part of
- * @since 2.0
- */
- IInstallConfiguration getInstallConfiguration();
-
- /**
- * @since 2.0
- */
- void addConfiguredSiteChangedListener(IConfiguredSiteChangedListener listener);
- /**
- * @since 2.0
- */
- void removeConfiguredSiteChangedListener(IConfiguredSiteChangedListener listener);
-
-
-}
-
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IConfiguredSiteChangedListener.java b/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IConfiguredSiteChangedListener.java
deleted file mode 100644
index fbc3c8c..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IConfiguredSiteChangedListener.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.update.configuration;
-
-import org.eclipse.update.core.IFeature;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-public interface IConfiguredSiteChangedListener {
- /**
- * @since 2.0
- */
- void featureInstalled(IFeature feature);
- /**
- * @since 2.0
- */
- void featureUninstalled(IFeature feature);
-}
-
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IInstallConfiguration.java b/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IInstallConfiguration.java
deleted file mode 100644
index 0993095..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IInstallConfiguration.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package org.eclipse.update.configuration;
-
-import java.io.File;
-import java.net.URL;
-import java.util.Date;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.update.configuration.*;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- * Installation configuration object.
- */
-public interface IInstallConfiguration extends IAdaptable {
-
- /**
- * Returns <code>true</code> is this is the current configuration
- *
- * @return boolean
- * @since 2.0
- */
-
- public boolean isCurrent();
-
- /**
- * Change the
- *
- * @since 2.0
- */
- 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 IConfiguredSite[] local install sites. Returns an empty array
- * if there are no local install sites
- * @since 2.0
- */
-
- public IConfiguredSite[] getConfiguredSites();
-
- /**
- * Creates a new site, based on a local file system directory,
- * as a potential target for installation actions.
- *
- * @exception CoreException
- * @since 2.0
- */
- public IConfiguredSite createConfiguredSite(File directory) throws CoreException;
-
- /**
- * Adds an additional configuration site to this configuration.
- *
- * @param site configuration site
- * @since 2.0
- */
-
- public void addConfiguredSite(IConfiguredSite site);
-
- /**
- * Removes a configuration site from this configuration.
- *
- * @param site configuration site
- * @since 2.0
- */
-
- public void removeConfiguredSite(IConfiguredSite site);
-
-
- /**
- * @since 2.0
- */
- void addInstallConfigurationChangedListener(IInstallConfigurationChangedListener listener);
- /**
- * @since 2.0
- */
- void removeInstallConfigurationChangedListener(IInstallConfigurationChangedListener listener);
-
-
- /**
- * Returns the Activities that were performed to get this InstallConfigurationModel.
- *
- * There is always at least one Activity
- *
- *
- * @since 2.0
- */
-
- IActivity[] getActivities();
-
- /**
- * retruns the Date at which the Configuration was created
- * The date is the local date from the machine that created the Configuration.
- * @since 2.0
- */
-
- Date getCreationDate();
-
- /**
- * returns the label of the configuration
- * @since 2.0
- */
-
- String getLabel();
-
- /**
- * sets the label of the configuration
- * @since 2.0
- */
-
- void setLabel(String label);
-
-
-}
-
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IInstallConfigurationChangedListener.java b/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IInstallConfigurationChangedListener.java
deleted file mode 100644
index d49d709..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IInstallConfigurationChangedListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.eclipse.update.configuration;
-
-import org.eclipse.update.configuration.*;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-public interface IInstallConfigurationChangedListener {
- /**
- * @since 2.0
- */
- void installSiteAdded(IConfiguredSite site);
- /**
- * @since 2.0
- */
- void installSiteRemoved(IConfiguredSite site);
-
-}
-
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSite.java b/update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSite.java
deleted file mode 100644
index dd49861..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSite.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package org.eclipse.update.configuration;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.File;
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.update.core.*;
-
-
-
-/**
- * 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 extends IAdaptable {
-
-
- /**
- * Return the current configuration object.
- * This is the Configuration that will be saved.
- *
- * @return IInstallConfiguration
- * @since 2.0
- */
-
- 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
- * @since 2.0
- */
-
- 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
- * @since 2.0
- */
-
- void revertTo(IInstallConfiguration configuration, IProgressMonitor monitor,IProblemHandler handler) 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");
- * IConfiguredSite configSite = -obtain a configuration site from the InstallConfigurationModel-
- * configSite.install(IFeature,IProgressMonitor);
- *
- * the following line saves the state of the configuration
- * currentConfig.save();
- *
- * @since 2.0
- */
-
- IInstallConfiguration cloneCurrentConfiguration() throws CoreException;
-
- /**
- * Adds a new configuration to the LocalSite
- * The new configuration becomes the current one
- * @since 2.0
- */
-
- void addConfiguration(IInstallConfiguration config);
-
- /**
- * Saves and persists the localSite. Also saves and persists the current Configuration
- * @since 2.0
- */
-
- void save() throws CoreException;
-
- /**
- * returns the maximum number of InstallConfigurationModel in teh history
- * @since 2.0
- */
-
- int getMaximumHistoryCount();
-
- /**
- * sets the maximum InstallConfigurationModel of the history
- * @since 2.0
- */
-
- void setMaximumHistoryCount(int history);
-
-
- /**
- * @since 2.0
- */
- void addLocalSiteChangedListener(ILocalSiteChangedListener listener);
-
- /**
- * @since 2.0
- */
- void removeLocalSiteChangedListener(ILocalSiteChangedListener listener);
-
-
- /**
- * @since 2.0
- */
- void addToPreservedConfigurations(IInstallConfiguration configuration) throws CoreException;
-
- /**
- * @since 2.0
- */
- void removeFromPreservedConfigurations(IInstallConfiguration configuration);
-
- /**
- * @since 2.0
- */
- IInstallConfiguration[] getPreservedConfigurations();
-
- /**
- * @since 2.0
- */
- IInstallConfiguration findPreservedConfigurationFor(IInstallConfiguration configuration);
-
-
-}
-
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSiteChangedListener.java b/update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSiteChangedListener.java
deleted file mode 100644
index 848a33e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSiteChangedListener.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.update.configuration;
-
-import org.eclipse.update.configuration.*;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-public interface ILocalSiteChangedListener {
- /**
- * @since 2.0
- */
- void currentInstallConfigurationChanged(IInstallConfiguration configuration);
- /**
- * @since 2.0
- */
- void installConfigurationRemoved(IInstallConfiguration configuration);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSystemInfoListener.java b/update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSystemInfoListener.java
deleted file mode 100644
index 4da7d0d..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/ILocalSystemInfoListener.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.eclipse.update.configuration;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.io.File;
-
-/**
- * Local system change listener interface.
- * @see LocalSystemInfo#addInfoListener(ILocalSystemInfoListener)
- * @see LocalSystemInfo#removeInfoListener(ILocalSystemInfoListener)
- * @see LocalSystemInfo#fireRootChanged(File)
- * @since 2.0
- */
-public interface ILocalSystemInfoListener {
-
- /**
- * Root change notification.
- * Called each time there are relevant file system changes
- * detected. This specifically includes changes to the
- * file system structure as a result of removable drive/ media
- * operations (eg. CD insertion), and changes to volume
- * mount structure.
- * @param path file path to the root of the changed file
- * system structure. Any current paths beyond
- * the specified root are assumed to be invalidated.
- * @since 2.0
- */
- public void rootChanged(File path);
-}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IProblemHandler.java b/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IProblemHandler.java
deleted file mode 100644
index 0886c31..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/IProblemHandler.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.update.configuration;
-
-import org.eclipse.core.runtime.MultiStatus;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
- /**
- * Handles any revert problem
- */
-public interface IProblemHandler {
-
- /**
- *
- * @since 2.0
- */
-
- boolean reportProblem(String problemText);
-
- /**
- *
- * @since 2.0
- */
-
- boolean reportProblem(String problemText, MultiStatus status);
-
-}
-
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/LocalSystemInfo.java b/update/org.eclipse.update.core/src/org/eclipse/update/configuration/LocalSystemInfo.java
deleted file mode 100644
index 28250eb..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/LocalSystemInfo.java
+++ /dev/null
@@ -1,210 +0,0 @@
-package org.eclipse.update.configuration;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-
-/**
- * Utility class providing local file system information.
- * The class attempts to load a native library implementation
- * of its methods. If successful, the method calls are delegated
- * to the native implementation. Otherwise a default non-native
- * implementation is used.
- * @see ILocalSystemInfoListener
- * @since 2.0
- */
-public class LocalSystemInfo {
-
- /**
- * Indicates the amount of available free space is not known
- * @see LocalSystemInfo#getFreeSpace(File)
- * @since 2.0
- */
- public static final long SIZE_UNKNOWN = -1;
-
- /**
- * Indicates the volume type is not known
- * @see LocalSystemInfo#getType(File)
- * @since 2.0
- */
- public static final int VOLUME_UNKNOWN = -1;
-
- /**
- * Indicates the volume could not be determined from path
- * @see LocalSystemInfo#getType(File)
- * @since 2.0
- */
- public static final int VOLUME_INVALID_PATH = -2;
-
- /**
- * Indicates the volume is removable
- * @see LocalSystemInfo#getType(File)
- * @since 2.0
- */
- public static final int VOLUME_REMOVABLE = 1;
-
- /**
- * Indicates the volume is fixed (not removable)
- * @see LocalSystemInfo#getType(File)
- * @since 2.0
- */
- public static final int VOLUME_FIXED = 2;
-
- /**
- * Indicates a remote (network) volume
- * @see LocalSystemInfo#getType(File)
- * @since 2.0
- */
- public static final int VOLUME_REMOTE = 3;
-
- private static ArrayList listeners = new ArrayList();
- private static boolean hasNatives = false;
- static {
- try {
- System.loadLibrary("update"); //$NON-NLS-1$
- hasNatives = true;
- } catch (UnsatisfiedLinkError e) {
- //DEBUG
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS){
- UpdateManagerPlugin.getPlugin().debug("Unable to load native library 'update'."); //$NON-NLS-1$
- }
- hasNatives = false;
- }
- }
-
- /**
- * Determines available free space on a volume.
- * Returns the amount of free space available to this
- * user on the volume containing the specified path. The
- * method takes into account any space quotas or other
- * native mechanisms that may restrict space usage
- * on a given volume.
- * @param path file path. May contain path elements beyond
- * the volume "root"
- * @return the amount of free space available (in units
- * of Kbyte), or an indication the size is not known
- * @see LocalSystemInfo#SIZE_UNKNOWN
- * @since 2.0
- */
- public static long getFreeSpace(File path) {
- if (hasNatives) {
- try {
- return nativeGetFreeSpace(path);
- } catch (UnsatisfiedLinkError e) {
- }
- }
- return SIZE_UNKNOWN;
- }
-
- /**
- * Determines volume label.
- * Returns the label of the volume containing the specified
- * path.
- * @param path file path. May contain path elements beyond
- * the volume "root"
- * @return volume label (as string), or <code>null</code> if
- * the label cannot be determined.
- * @since 2.0
- */
- public static String getLabel(File path) {
- if (hasNatives) {
- try {
- return nativeGetLabel(path);
- } catch (UnsatisfiedLinkError e) {
- }
- }
- return null;
- }
-
- /**
- * Determines volume type.
- * Returns the type of the volume containing the specified
- * path.
- * @param path file path. May contain path elements beyond
- * the volume "root"
- * @return volume type
- * @see LocalSystemInfo#VOLUME_UNKNOWN
- * @see LocalSystemInfo#VOLUME_INVALID_PATH
- * @see LocalSystemInfo#VOLUME_REMOVABLE
- * @see LocalSystemInfo#VOLUME_FIXED
- * @see LocalSystemInfo#VOLUME_REMOTE
- * @since 2.0
- */
- public static int getType(File path) {
- if (hasNatives) {
- try {
- return nativeGetType(path);
- } catch (UnsatisfiedLinkError e) {
- }
- }
- return VOLUME_UNKNOWN;
- }
-
- /**
- * Lists the file system mount points.
- * @return array of absolute file paths representing mount
- * points, or <code>null</code> if none found
- * @since 2.0
- */
- public static String[] listMountPoints() {
- if (hasNatives) {
- try {
- return nativeListMountPoints();
- } catch (UnsatisfiedLinkError e) {
- }
- }
- return null;
- }
-
- /**
- * Add local system change listener.
- * Allows a listener to be added for monitoring changes
- * in the local system information. The listener is notified
- * each time there are relevant file system changes
- * detected. This specifically includes changes to the
- * file system structure as a result of removable drive/ media
- * operations (eg. CD insertion), and changes to volume
- * mount structure.
- * @param listener change listener
- * @since 2.0
- */
- public static void addInfoListener(ILocalSystemInfoListener listener) {
- if (!listeners.contains(listener))
- listeners.add(listener);
- }
-
- /**
- * Remove local system change listener
- * @param listener change listener
- * @since 2.0
- */
- public static void removeInfoListener(ILocalSystemInfoListener listener) {
- listeners.remove(listener);
- }
-
- /**
- * Notify listeners of change.
- * @param path file path representing the "root" of the
- * change file system structure. Any current paths beyond
- * the specified "root" are assumed to be invalidated.
- */
- public static void fireRootChanged(File path) {
- for (int i=0; i< listeners.size(); i++) {
- ((ILocalSystemInfoListener)listeners.get(i)).rootChanged(path);
- }
- }
-
- /*
- * Native implementations.
- */
- private static native long nativeGetFreeSpace(File path);
- private static native String nativeGetLabel(File path);
- private static native int nativeGetType(File path);
- private static native String[] nativeListMountPoints();
-}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/package.html b/update/org.eclipse.update.core/src/org/eclipse/update/configuration/package.html
deleted file mode 100644
index a32a01c..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/configuration/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="Author" content="IBM">
- <meta name="GENERATOR" content="Mozilla/4.72 [en] (Windows NT 5.0; U) [Netscape]">
- <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides support for manipulating installation configuration
-information.
-<h2>
-Package Specification</h2>
-<b><font color="#FF0000">NOTE: The javadoc in this package is not yet complete</font></b>
-</body>
-</html>
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/ArchiveReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/ArchiveReference.java
deleted file mode 100644
index 2f8f0bd..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/ArchiveReference.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.update.core.model.ArchiveReferenceModel;
-
-/**
- * Convenience implementation of a site archive.
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.IArchiveReference
- * @see org.eclipse.update.core.model.ArchiveReferenceModel
- * @since 2.0
- */
-public class ArchiveReference
- extends ArchiveReferenceModel
- implements IArchiveReference {
-
- /**
- * Constructor for ArchiveReference
- * @since 2.0
- */
- public ArchiveReference() {
- super();
- }
-
- /**
- * @see Object#toString()
- * @since 2.0
- */
- public String toString() {
- String result = "IArchiveReference: "; //$NON-NLS-1$
- result =
- result
- + ((getPath() == null)
- ? getURL().toExternalForm()
- : getPath() + " : " + getURL().toExternalForm());
- //$NON-NLS-1$
- return result;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/BaseFeatureFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/BaseFeatureFactory.java
deleted file mode 100644
index b4bd5a0..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/BaseFeatureFactory.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.IOException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-
-/**
- * Base implementation of a feature factory.
- * The factory is responsible for constructing the correct
- * concrete implementation of the model objects for each particular
- * feature type. This class creates model objects that correspond
- * to the concrete implementation classes provided in this package.
- * The actual feature creation method is subclass responsibility.
- * <p>
- * This class must be subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.IFeatureFactory
- * @see org.eclipse.update.core.model.FeatureModelFactory
- * @since 2.0
- */
-public abstract class BaseFeatureFactory
- extends FeatureModelFactory
- implements IFeatureFactory {
-
- /**
- * Create feature. Implementation of this method must be provided by
- * subclass
- *
- * @see IFeatureFactory#createFeature(URL,ISite)
- * @since 2.0
- */
- public abstract IFeature createFeature(URL url, ISite site)
- throws CoreException;
-
- /**
- * Helper method to access resouce bundle for feature. The default
- * implementation attempts to load the appropriately localized
- * feature.properties file.
- *
- * @param url base URL used to load the resource bundle.
- * @return resource bundle, or <code>null</code>.
- * @since 2.0
- */
- protected ResourceBundle getResourceBundle(URL url)
- throws IOException, CoreException {
-
- if (url == null)
- return null;
-
- ResourceBundle bundle = null;
- try {
- ClassLoader l = new URLClassLoader(new URL[] { url }, null);
- bundle = ResourceBundle.getBundle(Feature.FEATURE_FILE, Locale.getDefault(), l);
- } catch (MissingResourceException e) {
- //if there is no bundle, keep it as null
- //DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- UpdateManagerPlugin.getPlugin().debug(
- e.getLocalizedMessage() + ":" + url.toExternalForm()); //$NON-NLS-1$
- }
- }
- return bundle;
- }
-
- /**
- * Create a concrete implementation of feature model.
- *
- * @see Feature
- * @return feature model
- * @since 2.0
- */
- public FeatureModel createFeatureModel() {
- return new Feature();
- }
-
- /**
- * Create a concrete implementation of install handler model.
- *
- * @see InstallHandlerEntry
- * @return install handler entry model
- * @since 2.0
- */
- public InstallHandlerEntryModel createInstallHandlerEntryModel() {
- return new InstallHandlerEntry();
- }
-
- /**
- * Create a concrete implementation of import dependency model.
- *
- * @see Import
- * @return import dependency model
- * @since 2.0
- */
- public ImportModel createImportModel() {
- return new Import();
- }
-
- /**
- * Create a concrete implementation of plug-in entry model.
- *
- * @see PluginEntry
- * @return plug-in entry model
- * @since 2.0
- */
- public PluginEntryModel createPluginEntryModel() {
- return new PluginEntry();
- }
-
- /**
- * Create a concrete implementation of non-plug-in entry model.
- *
- * @see NonPluginEntry
- * @return non-plug-in entry model
- * @since 2.0
- */
- public NonPluginEntryModel createNonPluginEntryModel() {
- return new NonPluginEntry();
- }
-
- /**
- * Create a concrete implementation of annotated URL model.
- *
- * @see URLEntry
- * @return annotated URL model
- * @since 2.0
- */
- public URLEntryModel createURLEntryModel() {
- return new URLEntry();
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/BaseInstallHandler.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/BaseInstallHandler.java
deleted file mode 100644
index 490dec7..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/BaseInstallHandler.java
+++ /dev/null
@@ -1,239 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Base implementation of an install handler.
- * This is a convenience implementation of an install handler with
- * null implementation of its methods. It allows subclasses to selectively
- * implement only the methods required for their installation tasks.
- * <p>
- * This class should be subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.IInstallHandler
- * @since 2.0
- */
-
-public class BaseInstallHandler implements IInstallHandler {
-
- /**
- * Update action type
- *
- * @see IInstallHandler#HANDLER_ACTION_INSTALL
- * @see IInstallHandler#HANDLER_ACTION_CONFIGURE
- * @see IInstallHandler#HANDLER_ACTION_UNCONFIGURE
- * @see IInstallHandler#HANDLER_ACTION_UNINSTALL
- * @since 2.0
- */
- protected int type;
-
- /**
- * The target of the action
- * @since 2.0
- */
- protected IFeature feature;
-
- /**
- * Model entry that defines this handler
- *
- * @since 2.0
- */
- protected IInstallHandlerEntry entry;
-
- /**
- * Optional progress monitor, can be <code>null</code>
- *
- * @since 2.0
- */
- protected InstallMonitor monitor;
-
- /**
- * Plug-in entries downloaded
- *
- * @see IInstallHandler#HANDLER_ACTION_INSTALL
- * @since 2.0
- */
- protected IPluginEntry[] pluginEntries;
-
- /**
- * Non-plug-in entries downloaded
- *
- * @see IInstallHandler#HANDLER_ACTION_INSTALL
- * @since 2.0
- */
- protected INonPluginEntry[] nonPluginEntries;
-
- /**
- * Indicates if handler has been initialized
- *
- * @since 2.0
- */
- protected boolean initialized = false;
-
- /**
- * Initialize the install handler.
- *
- * @see IInstallHandler#initialize(int, IFeature, IInstallHandlerEntry, InstallMonitor)
- * @since 2.0
- */
- public void initialize(
- int type,
- IFeature feature,
- IInstallHandlerEntry entry,
- InstallMonitor monitor)
- throws CoreException {
-
- if (this.initialized)
- return;
- else {
- if (feature == null)
- throw new IllegalArgumentException();
- this.type = type;
- this.feature = feature;
- this.entry = entry;
- this.monitor = monitor;
- this.initialized = true;
- }
- }
-
- /**
- * Called at the start of the install action.
- *
- * @see IInstallHandler#installInitiated
- * @since 2.0
- */
- public void installInitiated() throws CoreException {
- }
-
- /**
- * Called after files corresponding to plug-in entries have been downloaded,
- * but before they are actully unpacked and installed.
- *
- * @see IInstallHandler#pluginsDownloaded(IPluginEntry[])
- * @since 2.0
- */
- public void pluginsDownloaded(IPluginEntry[] plugins) throws CoreException {
-
- this.pluginEntries = plugins;
- }
-
- /**
- * Called after files corresponding to non-plug-in entries have been
- * downloaded.
- *
- * @see IInstallHandler#nonPluginDataDownloaded(INonPluginEntry[], IVerificationListener)
- * @since 2.0
- */
- public void nonPluginDataDownloaded(
- INonPluginEntry[] nonPluginData,
- IVerificationListener listener)
- throws CoreException {
-
- this.nonPluginEntries = nonPluginData;
- }
-
- /**
- * Called after the feature files and any downloaded plug-ins have
- * been installed.
- *
- * @see IInstallHandler#pluginsInstalled(IFeatureContentConsumer)
- * @since 2.0
- */
- public void completeInstall(IFeatureContentConsumer consumer)
- throws CoreException {
- }
-
- /**
- * Called at the end of the install action.
- *
- * @see IInstallHandler#installCompleted(boolean)
- * @since 2.0
- */
- public void installCompleted(boolean success) throws CoreException {
- }
-
- /**
- * Called at the start of the configure action.
- *
- * @see IInstallHandler#configureInitiated()
- * @since 2.0
- */
- public void configureInitiated() throws CoreException {
- }
-
- /**
- * Called after the feature has been configured.
- *
- * @see IInstallHandler#completeConfigure()
- * @since 2.0
- */
- public void completeConfigure() throws CoreException {
- }
-
- /**
- * Called at the end of the configure action.
- *
- * @see IInstallHandler#configureCompleted(boolean)
- * @since 2.0
- */
- public void configureCompleted(boolean success) throws CoreException {
- }
-
- /**
- * Called at the start of the unconfigure action.
- *
- * @see IInstallHandler#unconfigureInitiated()
- * @since 2.0
- */
- public void unconfigureInitiated() throws CoreException {
- }
-
- /**
- * Called after the feature has been unconfigured.
- *
- * @see IInstallHandler#completeUnconfigure()
- * @since 2.0
- */
- public void completeUnconfigure() throws CoreException {
- }
-
- /**
- * Called at the end of the unconfigure action.
- *
- * @see IInstallHandler#unconfigureCompleted(boolean)
- * @since 2.0
- */
- public void unconfigureCompleted(boolean success) throws CoreException {
- }
-
- /**
- * Called at the start of the uninstall action.
- *
- * @see IInstallHandler#uninstallInitiated()
- * @since 2.0
- */
- public void uninstallInitiated() throws CoreException {
- }
-
- /**
- * Called after the feature has been uninstalled.
- *
- * @see IInstallHandler#completeUninstall()
- * @since 2.0
- */
- public void completeUninstall() throws CoreException {
- }
-
- /**
- * Called at the end of the uninstall action.
- *
- * @see IInstallHandler#uninstallCompleted(boolean)
- * @since 2.0
- */
- public void uninstallCompleted(boolean success) throws CoreException {
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/BaseSiteFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/BaseSiteFactory.java
deleted file mode 100644
index 97e6f49..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/BaseSiteFactory.java
+++ /dev/null
@@ -1,159 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.core.URLEncoder;
-
-/**
- * Base implementation of a site factory.
- * The factory is responsible for constructing the correct
- * concrete implementation of the model objects for each particular
- * site type. This class creates model objects that correspond
- * to the concrete implementation classes provided in this package.
- * The actual site creation method is subclass responsibility.
- * <p>
- * This class must be subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.ISiteFactory
- * @see org.eclipse.update.core.model.SiteModelFactory
- * @since 2.0
- */
-public abstract class BaseSiteFactory extends SiteModelFactory implements ISiteFactory {
-
- /**
- * Create site. Implementation of this method must be provided by
- * subclass
- *
- * @see ISiteFactory#createSite(URL)
- * @since 2.0
- */
- public abstract ISite createSite(URL url) throws CoreException, InvalidSiteTypeException;
-
- /**
- * Helper method to access resouce bundle for site. The default
- * implementation attempts to load the appropriately localized
- * site.properties file.
- *
- * @param url base URL used to load the resource bundle.
- * @return resource bundle, or <code>null</code>.
- * @since 2.0
- */
- protected ResourceBundle getResourceBundle(URL url) {
- ResourceBundle bundle = null;
-
- try {
- URL resolvedURL = URLEncoder.encode(url);
- ClassLoader l = new URLClassLoader(new URL[] { resolvedURL }, null);
- bundle = ResourceBundle.getBundle(Site.SITE_FILE, Locale.getDefault(), l);
- } catch (MissingResourceException e) {
- //if there is no bundle, keep it as null
- //DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- UpdateManagerPlugin.getPlugin().debug(e.getLocalizedMessage() + ":" + url.toExternalForm()); //$NON-NLS-1$
- }
-
- // do not attempt retry if URL is like <protocol://....#....>
- if (url.getRef() == null) {
- // the URL may point ot a file.. attempt to use the parent directory
- String file = url.getFile();
- if (!file.endsWith("/")) { //$NON-NLS-1$
- try {
- int index = file.lastIndexOf('/');
- if (index != -1) {
- file = file.substring(0, index + 1);
- url = new URL(url.getProtocol(), url.getHost(), url.getPort(), file);
- URL resolvedURL = URLEncoder.encode(url);
- ClassLoader l = new URLClassLoader(new URL[] { resolvedURL }, null);
- bundle = ResourceBundle.getBundle(Site.SITE_FILE, Locale.getDefault(), l);
- }
- } catch (MalformedURLException e1) {
- //DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- UpdateManagerPlugin.getPlugin().debug(Policy.bind("BaseSiteFactory.CannotRetriveParentDirectory", url.toExternalForm())); //$NON-NLS-1$
- }
- } catch (MissingResourceException e2) {
- //if there is no bundle, keep it as null
- //DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- UpdateManagerPlugin.getPlugin().debug(e2.getLocalizedMessage() + ":" + url.toExternalForm()); //$NON-NLS-1$
- }
- }
- }
- }
- } catch (MalformedURLException e1) {
- //DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- UpdateManagerPlugin.getPlugin().debug(Policy.bind("BaseSiteFactory.CannotEncodeURL", url.toExternalForm())); //$NON-NLS-1$
- }
- }
-
- return bundle;
- }
-
- /**
- * Create a concrete implementation of site model.
- *
- * @see Site
- * @return site model
- * @since 2.0
- */
- public SiteModel createSiteMapModel() {
- return new Site();
- }
-
-
- /**
- * Create a concrete implementation of feature reference model.
- *
- * @see FeatureReference
- * @return feature reference model
- * @since 2.0
- */
- public FeatureReferenceModel createFeatureReferenceModel() {
- return new FeatureReference();
- }
-
- /**
- * Create a concrete implementation of archive reference model.
- *
- * @see ArchiveReference
- * @return archive reference model
- * @since 2.0
- */
- public ArchiveReferenceModel createArchiveReferenceModel() {
- return new ArchiveReference();
- }
-
-
- /**
- * Create a concrete implementation of annotated URL model.
- *
- * @see URLEntry
- * @return annotated URL model
- * @since 2.0
- */
- public URLEntryModel createURLEntryModel() {
- return new URLEntry();
- }
-
-
- /**
- * Create a concrete implementation of category model.
- *
- * @see Category
- * @return category model
- * @since 2.0
- */
- public CategoryModel createSiteCategoryModel() {
- return new Category();
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/Category.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/Category.java
deleted file mode 100644
index 4ef4dfd..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/Category.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.update.core.model.CategoryModel;
-
-/**
- * Convenience implementation of feature category definition.
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.ICategory
- * @see org.eclipse.update.core.model.CategoryModel
- * @since 2.0
- */
-public class Category extends CategoryModel implements ICategory {
-
- /**
- * Default Constructor
- */
- public Category() {
- }
-
- /**
- * Constructor
- */
- public Category(String name, String label) {
- setName(name);
- setLabel(label);
- }
-
- /**
- * Retrieve the detailed category description
- * @see ICategory#getDescription()
- */
- public IURLEntry getDescription() {
- return (IURLEntry) getDescriptionModel();
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/ContentReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/ContentReference.java
deleted file mode 100644
index bdd15fa..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/ContentReference.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.*;
-import java.net.URL;
-import java.net.URLConnection;
-
-import org.eclipse.update.internal.core.Policy;
-import org.eclipse.update.internal.core.URLEncoder;
-
-/**
- * Content reference implements a general access wrapper
- * to feature and site content. The reference specifies
- * a "symbolic" path identifier for the content, and the actual
- * reference as a file, or a URL.
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.JarContentReference
- * @see org.eclipse.update.core.JarEntryContentReference
- * @since 2.0
- */
-public class ContentReference {
-
- /**
- * Unknown size indication
- * @since 2.0
- */
- public static final long UNKNOWN_SIZE = -1;
-
- private static final String FILE_URL_PROTOCOL = "file"; //$NON-NLS-1$
-
- private String id;
- private URL url; // reference is either URL reference *OR*
- private File file; // local file reference
- private URLConnection connection;
-
- /*
- * do not allow default contruction
- */
- private ContentReference() {}
-
- /**
- * Create content reference from URL.
- *
- * @param id "symbolic" path identifier
- * @param url actual referenced URL
- * @since 2.0
- */
- public ContentReference(String id, URL url) {
- this.id = (id==null ? "" : id); //$NON-NLS-1$
- this.url = url; // can be null
- this.file = null;
- }
-
- /**
- * Create content reference from file.
- *
- * @param id "symbolic" path identifier
- * @param file actual referenced file
- * @since 2.0
- */
- public ContentReference(String id, File file) {
- this.id = (id==null ? "" : id); //$NON-NLS-1$
- this.file = file; // can be null
- this.url = null;
- }
-
- /**
- * A factory method to create a content reference of
- * the same type.
- *
- * @param id "symbolic" path identifier
- * @param file actual referenced file
- * @return content reference of the same type
- * @since 2.0
- */
- public ContentReference createContentReference(String id, File file) {
- return new ContentReference(id, file);
- }
-
- /**
- * Retrieves the "symbolic" path identifier for the reference.
- *
- * @return "symbolic" path identifier
- * @since 2.0
- */
- public String getIdentifier() {
- return id;
- }
-
- /**
- * Creates an input stream for the reference.
- *
- * @return input stream
- * @exception IOException unable to create stream
- * @since 2.0
- */
- public InputStream getInputStream() throws IOException {
- if (file != null)
- return new FileInputStream(file);
- else if (url != null) {
- if (connection == null){
- URL resolvedURL = URLEncoder.encode(url);
- connection = resolvedURL.openConnection();
- }
- return connection.getInputStream();
- } else
- throw new IOException(Policy.bind("ContentReference.UnableToCreateInputStream",this.toString())); //$NON-NLS-1$
- }
-
- /**
- * Returns the size of the referenced input, if it can be determined.
- *
- * @return input size, or @see #UNKNOWN_SIZE if size cannot be determined.
- * @since 2.0
- */
- public long getInputSize() {
- if (file != null)
- return file.length();
- else if (url != null) {
- if (connection == null) {
- try {
- URL resolvedURL = URLEncoder.encode(url);
- connection = resolvedURL.openConnection();
- } catch (IOException e) {
- return ContentReference.UNKNOWN_SIZE;
- }
- }
- long size = connection.getContentLength();
- return size == -1 ? ContentReference.UNKNOWN_SIZE : size;
- } else
- return ContentReference.UNKNOWN_SIZE;
- }
-
- /**
- * Indicates whether the reference is a local file reference.
- *
- * @return <code>true</code> if the reference is local,
- * otherwise <code>false</code>
- * @since 2.0
- */
- public boolean isLocalReference() {
- if (file != null)
- return true;
- else if (url != null)
- return FILE_URL_PROTOCOL.equals(url.getProtocol());
- else
- return false;
- }
-
- /**
- * Returns the content reference as a file. Note, that this method
- * <b>does not</b> cause the file to be downloaded if it
- * is not already local.
- *
- * @return reference as file
- * @exception IOException reference cannot be returned as file
- * @since 2.0
- */
- public File asFile() throws IOException {
- if (file != null)
- return file;
-
- if (url!=null && FILE_URL_PROTOCOL.equals(url.getProtocol()))
- return new File(url.getFile());
-
- throw new IOException(Policy.bind("ContentReference.UnableToReturnReferenceAsFile",this.toString())); //$NON-NLS-1$
- }
-
- /**
- * Returns the content reference as a URL.
- *
- * @return reference as URL
- * @exception IOException reference cannot be returned as URL
- * @since 2.0
- */
- public URL asURL() throws IOException {
- if (url != null)
- return url;
-
- if (file != null)
- return file.toURL();
-
- throw new IOException(Policy.bind("ContentReference.UnableToReturnReferenceAsURL",this.toString())); //$NON-NLS-1$
- }
-
- /**
- * Return string representation of this reference.
- *
- * @return string representation
- * @since 2.0
- */
- public String toString() {
- if (file != null)
- return file.getAbsolutePath();
- else
- return url.toExternalForm();
- }
-}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/Feature.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/Feature.java
deleted file mode 100644
index a643b5e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/Feature.java
+++ /dev/null
@@ -1,571 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.core.*;
-
-/**
- * Convenience implementation of a feature.
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.IFeature
- * @see org.eclipse.update.core.model.FeatureModel
- * @since 2.0
- */
-public class Feature extends FeatureModel implements IFeature {
-
- /**
- * Simple file name of the default feature manifest file
- * @since 2.0
- */
- public static final String FEATURE_FILE= "feature"; //$NON-NLS-1$
-
- /**
- * File extension of the default feature manifest file
- * @since 2.0
- */
- public static final String FEATURE_XML= FEATURE_FILE + ".xml"; //$NON-NLS-1$
-
- private ISite site; // feature site
- private IFeatureContentProvider featureContentProvider; // content provider
-
- /**
- * Feature default constructor
- *
- * @since 2.0
- */
- public Feature() {
- }
-
- /**
- * Compares two features for equality
- *
- * @param object feature object to compare with
- * @return <code>true</code> if the two features are equal,
- * <code>false</code> otherwise
- * @since 2.0
- */
- public boolean equals(Object object) {
- if (!(object instanceof Feature))
- return false;
- IFeature f= (IFeature) object;
- return (super.equals(object) && getURL().equals(f.getURL()));
-
- }
-
- /**
- * Returns the feature identifier.
- *
- * @see IFeature#getVersionedIdentifier()
- * @since 2.0
- */
- public VersionedIdentifier getVersionedIdentifier() {
- return new VersionedIdentifier(getFeatureIdentifier(), getFeatureVersion());
- }
-
- /**
- * Returns the site this feature is associated with.
- *
- * @see IFeature#getSite()
- * @since 2.0
- */
- public ISite getSite() {
- return site;
- }
-
- /**
- * Returns the feature URL.
- *
- * @see IFeature#getURL()
- * @since 2.0
- */
- public URL getURL() {
- IFeatureContentProvider contentProvider= null;
- try {
- contentProvider= getFeatureContentProvider();
- } catch (CoreException e) {
- // no content provider: always log status
- UpdateManagerPlugin.getPlugin().getLog().log(e.getStatus());
- }
- return (contentProvider != null) ? contentProvider.getURL() : null;
- }
-
- /**
- * Returns an information entry referencing the location of the
- * feature update site.
- *
- * @see IFeature#getUpdateSiteEntry()
- * @since 2.0
- */
- public IURLEntry getUpdateSiteEntry() {
- return (IURLEntry) getUpdateSiteEntryModel();
- }
-
- /**
- * Return an array of information entries referencing locations of other
- * update sites.
- *
- * @see IFeature#getDiscoverySiteEntries()
- * @since 2.0
- */
- public IURLEntry[] getDiscoverySiteEntries() {
- URLEntryModel[] result= getDiscoverySiteEntryModels();
- if (result.length == 0)
- return new IURLEntry[0];
- else
- return (IURLEntry[]) result;
- }
-
- /**
- * Returns and optional custom install handler entry.
- *
- * @see IFeature#getInstallHandlerEntry()
- * @since 2.0
- */
- public IInstallHandlerEntry getInstallHandlerEntry() {
- return (IInstallHandlerEntry) getInstallHandlerModel();
- }
-
- /**
- * Returns the feature description.
- *
- * @see IFeature#getDescription()
- * @since 2.0
- */
- public IURLEntry getDescription() {
- return (IURLEntry) getDescriptionModel();
- }
-
- /**
- * Returns the copyright information for the feature.
- *
- * @see IFeature#getCopyright()
- * @since 2.0
- */
- public IURLEntry getCopyright() {
- return (IURLEntry) getCopyrightModel();
- }
-
- /**
- * Returns the license information for the feature.
- *
- * @see IFeature#getLicense()
- * @since 2.0
- */
- public IURLEntry getLicense() {
- return (IURLEntry) getLicenseModel();
- }
-
- /**
- * Return optional image for the feature.
- *
- * @see IFeature#getImage()
- * @since 2.0
- */
- public URL getImage() {
- return getImageURL();
- }
-
- /**
- * Return a list of plug-in dependencies for this feature.
- *
- * @see IFeature#getImports()
- * @since 2.0
- */
- public IImport[] getImports() {
- ImportModel[] result= getImportModels();
- if (result.length == 0)
- return new IImport[0];
- else
- return (IImport[]) result;
- }
-
- /**
- * Install the contents of this feature into the specified target feature.
- * This method is a reference implementation of the feature installation
- * protocol. Other concrete feature implementation that override this
- * method need to implement this protocol.
- *
- * @see IFeature#install(IFeature, IVerificationListener, IProgressMonitor)
- * @since 2.0
- */
- public IFeatureReference install(
- IFeature targetFeature,
- IVerificationListener verificationListener,
- IProgressMonitor progress)
- throws CoreException {
-
- // make sure we have an InstallMonitor
- InstallMonitor monitor;
- if (progress == null)
- monitor= null;
- else if (progress instanceof InstallMonitor)
- monitor= (InstallMonitor) progress;
- else
- monitor= new InstallMonitor(progress);
-
- // Setup optional install handler
- InstallHandlerProxy handler=
- new InstallHandlerProxy(
- IInstallHandler.HANDLER_ACTION_INSTALL,
- this,
- this.getInstallHandlerEntry(),
- monitor);
- boolean success= false;
- Throwable originalException= null;
-
- // Get source feature provider and verifier. Initialize target variables.
- IFeatureContentProvider provider= getFeatureContentProvider();
- IVerifier verifier= provider.getVerifier();
- IFeatureReference result= null;
- IFeatureContentConsumer consumer= null;
-
- try {
- // determine list of plugins to install
- // find the intersection between the plugin entries already contained
- // on the target site, and plugin entries packaged in source feature
- IPluginEntry[] sourceFeaturePluginEntries= getPluginEntries();
- ISite targetSite= targetFeature.getSite();
- IPluginEntry[] targetSitePluginEntries=
- (targetSite != null) ? targetSite.getPluginEntries() : new IPluginEntry[0];
- IPluginEntry[] pluginsToInstall=
- UpdateManagerUtils.diff(sourceFeaturePluginEntries, targetSitePluginEntries);
- INonPluginEntry[] nonPluginsToInstall= getNonPluginEntries();
-
- // determine number of monitor tasks
- // 2 tasks for the feature jar (download/verify + install)
- // + 2*n tasks for plugin entries (download/verify + install for each)
- // + 1*m tasks per non-plugin data entry (download for each)
- // + 1 task for custom non-plugin entry handling (1 for all combined)
- int taskCount=
- 2 + 2 * pluginsToInstall.length + nonPluginsToInstall.length + 1;
- if (monitor != null)
- monitor.beginTask("", taskCount);
-
- // Start the installation tasks
- handler.installInitiated();
-
- // Download and verify feature archive(s)
- ContentReference[] references=
- provider.getFeatureEntryArchiveReferences(monitor);
- IVerificationResult vr;
- if (verifier != null) {
- for (int i= 0; i < references.length; i++) {
- vr= verifier.verify(this, references[i], true, monitor);
- if (vr != null) {
- promptForVerification(vr, verificationListener);
- }
- }
- }
- if (monitor != null)
- monitor.worked(1);
-
- // Download and verify plugin archives
- for (int i= 0; i < pluginsToInstall.length; i++) {
- references=
- provider.getPluginEntryArchiveReferences(pluginsToInstall[i], monitor);
- if (verifier != null) {
- for (int j= 0; j < references.length; j++) {
- vr= verifier.verify(this, references[j], false, monitor);
- if (vr != null) {
- promptForVerification(vr, verificationListener);
- }
- }
- }
- if (monitor != null)
- monitor.worked(1);
- }
- handler.pluginsDownloaded(pluginsToInstall);
-
- // Download non-plugin archives. Verification handled by optional install handler
- for (int i= 0; i < nonPluginsToInstall.length; i++) {
- references=
- provider.getNonPluginEntryArchiveReferences(nonPluginsToInstall[i], monitor);
- if (monitor != null)
- monitor.worked(1);
- }
- handler.nonPluginDataDownloaded(nonPluginsToInstall, verificationListener);
-
- // All archives are downloaded and verified. Get ready to install
- consumer= targetFeature.getFeatureContentConsumer();
-
- //Install feature files
- if (monitor != null)
- monitor.setTaskName(Policy.bind("Feature.TaskInstallFeatureFiles")); //$NON-NLS-1$
- references= provider.getFeatureEntryContentReferences(monitor);
- for (int i= 0; i < references.length; i++) {
- if (monitor != null)
- monitor.subTask(references[i].getIdentifier());
- consumer.store(references[i], monitor);
- }
- if (monitor != null)
- monitor.worked(1);
-
- // Install plugin files
- for (int i= 0; i < pluginsToInstall.length; i++) {
- if (monitor != null)
- monitor.setTaskName(
- Policy.bind(
- "Feature.TaskInstallPluginFiles",
- pluginsToInstall[i].getVersionedIdentifier().getIdentifier()));
- //$NON-NLS-1$
- IContentConsumer pluginConsumer= consumer.open(pluginsToInstall[i]);
- references=
- provider.getPluginEntryContentReferences(pluginsToInstall[i], monitor);
- for (int j= 0; j < references.length; j++) {
- if (monitor != null)
- monitor.subTask(references[j].getIdentifier());
- pluginConsumer.store(references[j], monitor);
- }
- pluginConsumer.close();
- if (monitor != null)
- monitor.worked(1);
- }
-
- // call handler to complete installation (eg. handle non-plugin entries)
- handler.completeInstall(consumer);
- if (monitor != null)
- monitor.worked(1);
-
- // indicate install success
- success= true;
-
- } catch (Throwable t) {
- originalException= t;
- } finally {
- if (monitor != null)
- monitor.done();
-
- Throwable newException= null;
- try {
- if (consumer != null) {
- if (success)
- result= consumer.close();
- else
- consumer.abort();
- }
- handler.installCompleted(success);
- } catch (Throwable t) {
- newException= t;
- }
- if (originalException != null) // original exception wins
- throw UpdateManagerUtils.newCoreException(
- Policy.bind("InstallHandler.error", this.getLabel()),
- originalException);
- if (newException != null)
- throw UpdateManagerUtils.newCoreException(
- Policy.bind("InstallHandler.error", this.getLabel()),
- newException);
- }
- return result;
- }
-
- /**
- * Returns an array of plug-in entries referenced by this feature
- *
- * @see IFeature#getPluginEntries()
- * @since 2.0
- */
- public IPluginEntry[] getPluginEntries() {
- PluginEntryModel[] result= getPluginEntryModels();
- if (result.length == 0)
- return new IPluginEntry[0];
- else
- return (IPluginEntry[]) result;
- }
-
- /**
- * Returns the count of referenced plug-in entries.
- *
- * @see IFeature#getPluginEntryCount()
- * @since 2.0
- */
- public int getPluginEntryCount() {
- return getPluginEntryModels().length;
- }
-
- /**
- * Returns an array of non-plug-in entries referenced by this feature
- *
- * @see IFeature#getNonPluginEntries()
- * @since 2.0
- */
- public INonPluginEntry[] getNonPluginEntries() {
- NonPluginEntryModel[] result= getNonPluginEntryModels();
- if (result.length == 0)
- return new INonPluginEntry[0];
- else
- return (INonPluginEntry[]) result;
- }
-
- /**
- * Returns the count of referenced non-plug-in entries.
- *
- * @see IFeature#getNonPluginEntryCount()
- * @since 2.0
- */
- public int getNonPluginEntryCount() {
- return getNonPluginEntryModels().length;
- }
-
- /**
- * Returns the download size of the feature, if it can be determined.
- *
- * @see IFeature#getDownloadSize()
- * @since 2.0
- */
- public long getDownloadSize() {
- try {
- return getFeatureContentProvider().getDownloadSizeFor(
- getPluginEntries(),
- getNonPluginEntries());
- } catch (CoreException e) {
- UpdateManagerPlugin.getPlugin().getLog().log(e.getStatus());
- return ContentEntryModel.UNKNOWN_SIZE;
- }
-
- }
-
- /**
- * Returns the install size of the feature, if it can be determined.
- *
- * @see IFeature#getInstallSize()
- * @since 2.0
- */
- public long getInstallSize() {
- try {
- return getFeatureContentProvider().getInstallSizeFor(
- getPluginEntries(),
- getNonPluginEntries());
- } catch (CoreException e) {
- UpdateManagerPlugin.getPlugin().getLog().log(e.getStatus());
- return ContentEntryModel.UNKNOWN_SIZE;
- }
-
- }
-
- /**
- * Returns the content provider for this feature.
- *
- * @see IFeature#getFeatureContentProvider()
- * @since 2.0
- */
- public IFeatureContentProvider getFeatureContentProvider()
- throws CoreException {
- if (featureContentProvider == null) {
- String id=
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status=
- new Status(
- IStatus.ERROR,
- id,
- IStatus.OK,
- Policy.bind("Feature.NoContentProvider", getVersionedIdentifier().toString()),
- null);
- //$NON-NLS-1$
- throw new CoreException(status);
- }
- return this.featureContentProvider;
- }
-
- /**
- * Returns the content consumer for this feature.
- *
- * @see IFeature#getFeatureContentConsumer()
- * @since 2.0
- */
- public IFeatureContentConsumer getFeatureContentConsumer()
- throws CoreException {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Sets the site for this feature.
- *
- * @see IFeature#setSite(ISite)
- * @since 2.0
- */
- public void setSite(ISite site) throws CoreException {
- if (this.site != null) {
- String id=
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- String featureURLString= (getURL() != null) ? getURL().toExternalForm() : "";
- IStatus status=
- new Status(
- IStatus.ERROR,
- id,
- IStatus.OK,
- Policy.bind("Feature.SiteAlreadySet", featureURLString),
- null);
- //$NON-NLS-1$
- throw new CoreException(status);
- }
- this.site= site;
- }
-
- /**
- * Sets the content provider for this feature.
- *
- * @see IFeature#setFeatureContentProvider(IFeatureContentProvider)
- * @since 2.0
- */
- public void setFeatureContentProvider(IFeatureContentProvider featureContentProvider) {
- this.featureContentProvider= featureContentProvider;
- featureContentProvider.setFeature(this);
- }
-
- /**
- * Return the string representation of this fetaure
- *
- * @return feature as string
- * @since 2.0
- */
- public String toString() {
- String URLString=
- (getURL() == null) ? Policy.bind("Feature.NoURL") : getURL().toExternalForm();
- //$NON-NLS-1$
- return Policy.bind(
- "Feature.FeatureVersionToString",
- URLString,
- getVersionedIdentifier().toString());
- //$NON-NLS-1$
- }
-
- /*
- *
- */
- private void promptForVerification(
- IVerificationResult verificationResult,
- IVerificationListener listener)
- throws CoreException {
-
- if (listener == null)
- return;
-
- int result= listener.prompt(verificationResult);
-
- if (result == IVerificationListener.CHOICE_ABORT) {
- throw Utilities
- .newCoreException(Policy.bind("JarVerificationService.CancelInstall"),
- //$NON-NLS-1$
- verificationResult.getVerificationException());
- }
- if (result == IVerificationListener.CHOICE_ERROR) {
- throw Utilities
- .newCoreException(
- Policy.bind("JarVerificationService.UnsucessfulVerification"),
- //$NON-NLS-1$
- verificationResult.getVerificationException());
- }
-
- return;
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureContentProvider.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureContentProvider.java
deleted file mode 100644
index f196af4..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureContentProvider.java
+++ /dev/null
@@ -1,259 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.*;
-import java.net.URL;
-
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.core.Policy;
-
-/**
- * Base implementation of a feature content provider.
- * This class provides a set of helper methods useful for implementing
- * feature content providers. In particular, methods dealing with
- * downloading and caching of feature files.
- * <p>
- * This class must be subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.IFeatureContentProvider
- * @since 2.0
- */
-public abstract class FeatureContentProvider
- implements IFeatureContentProvider {
-
- private URL base;
- private IFeature feature;
- private File tmpDir; // local work area for each provider
- public static final String JAR_EXTENSION = ".jar"; //$NON-NLS-1$
-
- /**
- * Feature content provider constructor
- *
- * @param base feature URL. The interpretation of this URL
- * is specific to each content provider.
- * @since 2.0
- */
- public FeatureContentProvider(URL base) {
- this.base = base;
- this.feature = null;
- }
-
- /**
- * Returns the feature url.
- * @see IFeatureContentProvider#getURL()
- */
- public URL getURL() {
- return base;
- }
-
- /**
- * Returns the feature associated with this content provider.
- * @see IFeatureContentProvider#getFeature()
- */
- public IFeature getFeature() {
- return feature;
- }
-
- /**
- * Sets the feature associated with this content provider.
- * @see IFeatureContentProvider#setFeature(IFeature)
- */
- public void setFeature(IFeature feature) {
- this.feature = feature;
- }
-
- /**
- * Returns the specified reference as a local file system reference.
- * If required, the file represented by the specified content
- * reference is first downloaded to the local system
- *
- * @param ref content reference
- * @param monitor progress monitor, can be <code>null</code>
- * @exception IOException
- * @since 2.0
- */
- public ContentReference asLocalReference(
- ContentReference ref,
- InstallMonitor monitor)
- throws IOException {
-
- // check to see if this is already a local reference
- if (ref.isLocalReference())
- return ref;
-
- // check to see if we already have a local file for this reference
- String key = ref.toString();
- File localFile = Utilities.lookupLocalFile(key);
- if (localFile != null)
- return ref.createContentReference(ref.getIdentifier(), localFile);
-
- // download the referenced file into local temporary area
- localFile = Utilities.createLocalFile(getWorkingDirectory(), key, null /*name*/
- );
- InputStream is = null;
- OutputStream os = null;
- try {
- if (monitor != null) {
- monitor.saveState();
- monitor.setTaskName(Policy.bind("FeatureContentProvider.Downloading"));
- //$NON-NLS-1$
- monitor.subTask(ref.getIdentifier() + " "); //$NON-NLS-1$
- monitor.setTotalCount(ref.getInputSize());
- monitor.showCopyDetails(true);
- }
- is = ref.getInputStream();
- os = new FileOutputStream(localFile);
- Utilities.copy(is, os, monitor);
- } catch (IOException e) {
- Utilities.removeLocalFile(key);
- throw e;
- } finally {
- if (is != null)
- try {
- is.close();
- } catch (IOException e) {
- }
- if (os != null)
- try {
- os.close();
- } catch (IOException e) {
- }
- if (monitor != null)
- monitor.restoreState();
- }
- return ref.createContentReference(ref.getIdentifier(), localFile);
- }
-
- /**
- * Returns the specified reference as a local file.
- * If required, the file represented by the specified content
- * reference is first downloaded to the local system
- *
- * @param ref content reference
- * @param monitor progress monitor, can be <code>null</code>
- * @exception IOException
- * @since 2.0
- */
- public File asLocalFile(ContentReference ref, InstallMonitor monitor)
- throws IOException {
- File file = ref.asFile();
- if (file != null)
- return file;
-
- ContentReference localRef = asLocalReference(ref, monitor);
- file = localRef.asFile();
- return file;
- }
-
- /**
- * Returns working directory for this content provider
- *
- * @return working directory
- * @exception IOException
- * @since 2.0
- */
- protected File getWorkingDirectory() throws IOException {
- if (tmpDir == null)
- tmpDir = Utilities.createWorkingDirectory();
- return tmpDir;
- }
-
- /**
- * Returns the total size of all archives required for the
- * specified plug-in and non-plug-in entries (the "packaging" view).
- * @see IFeatureContentProvider#getDownloadSizeFor(IPluginEntry[], INonPluginEntry[])
- */
- public long getDownloadSizeFor(
- IPluginEntry[] pluginEntries,
- INonPluginEntry[] nonPluginEntries) {
- long result = 0;
-
- if ((pluginEntries == null || pluginEntries.length == 0)
- && (nonPluginEntries == null || nonPluginEntries.length == 0)) {
- return ContentEntryModel.UNKNOWN_SIZE;
- }
-
- // loop on plugin entries
- long size = 0;
- for (int i = 0; i < pluginEntries.length; i++) {
- size = ((PluginEntryModel) pluginEntries[i]).getDownloadSize();
- if (size == ContentEntryModel.UNKNOWN_SIZE) {
- return ContentEntryModel.UNKNOWN_SIZE;
- }
- result += size;
- }
-
- // loop on non plugin entries
- for (int i = 0; i < pluginEntries.length; i++) {
- size = ((NonPluginEntryModel) nonPluginEntries[i]).getDownloadSize();
- if (size == ContentEntryModel.UNKNOWN_SIZE) {
- return ContentEntryModel.UNKNOWN_SIZE;
- }
- result += size;
- }
-
- return result;
- }
-
- /**
- * Returns the total size of all files required for the
- * specified plug-in and non-plug-in entries (the "logical" view).
- * @see IFeatureContentProvider#getInstallSizeFor(IPluginEntry[], INonPluginEntry[])
- */
- public long getInstallSizeFor(
- IPluginEntry[] pluginEntries,
- INonPluginEntry[] nonPluginEntries) {
- long result = 0;
-
- if ((pluginEntries == null || pluginEntries.length == 0)
- && (nonPluginEntries == null || nonPluginEntries.length == 0)) {
- return ContentEntryModel.UNKNOWN_SIZE;
- }
-
- // loop on plugin entries
- long size = 0;
- for (int i = 0; i < pluginEntries.length; i++) {
- size = ((PluginEntryModel) pluginEntries[i]).getInstallSize();
- if (size == ContentEntryModel.UNKNOWN_SIZE) {
- return ContentEntryModel.UNKNOWN_SIZE;
- }
- result += size;
- }
-
- // loop on non plugin entries
- for (int i = 0; i < nonPluginEntries.length; i++) {
- size = ((NonPluginEntryModel) nonPluginEntries[i]).getInstallSize();
- if (size == ContentEntryModel.UNKNOWN_SIZE) {
- return ContentEntryModel.UNKNOWN_SIZE;
- }
- result += size;
- }
-
- return result;
- }
-
- /**
- * Returns the path identifier for a plugin entry.
- * <code>plugins/<pluginId>_<pluginVersion>.jar</code>
- * @return the path identifier
- */
- protected String getPathID(IPluginEntry entry) {
- return Site.DEFAULT_PLUGIN_PATH + entry.getVersionedIdentifier().toString() + JAR_EXTENSION;
- }
-
- /**
- * Returns the path identifer for a non plugin entry.
- * <code>features/<featureId>_<featureVersion>/<dataId></code>
- * @return the path identifier
- */
- protected String getPathID(INonPluginEntry entry) {
- String nonPluginBaseID=
- Site.DEFAULT_FEATURE_PATH + feature.getVersionedIdentifier().toString() + "/";
- //$NON-NLS-1$
- return nonPluginBaseID + entry.getIdentifier();
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureReference.java
deleted file mode 100644
index 46e5ab7..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/FeatureReference.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.model.FeatureReferenceModel;
-import org.eclipse.update.core.model.SiteModel;
-import org.eclipse.update.internal.core.*;
-
-/**
- * Convenience implementation of a feature reference.
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.IFeatureReference
- * @see org.eclipse.update.core.model.FeatureReferenceModel
- * @since 2.0
- */
-public class FeatureReference
- extends FeatureReferenceModel
- implements IFeatureReference {
-
- private IFeature feature;
- private List categories;
-
- /**
- * Feature reference default constructor
- */
- public FeatureReference() {
- super();
- }
-
- /**
- * Returns the feature this reference points to
- * @return the feature on the Site
- */
- public IFeature getFeature() throws CoreException {
-
- String type = getType();
- if (feature == null) {
-
- if (type == null || type.equals("")) { //$NON-NLS-1$
- // ask the Site for the default type
- type = getSite().getDefaultPackagedFeatureType();
- }
-
- feature = createFeature(type, getURL(), getSite());
- }
-
- return feature;
- }
-
- /**
- * Returns the update site for the referenced feature
- *
- * @see IFeatureReference#getSite()
- * @since 2.0
- */
- public ISite getSite() {
- return (ISite) getSiteModel();
- }
-
- /**
- * Returns an array of categories the referenced feature belong to.
- *
- * @see IFeatureReference#getCategories()
- * @since 2.0
- */
- public ICategory[] getCategories() {
-
- if (categories == null) {
- categories = new ArrayList();
- String[] categoriesAsString = getCategoryNames();
- for (int i = 0; i < categoriesAsString.length; i++) {
- categories.add(getSite().getCategory(categoriesAsString[i]));
- }
- }
-
- ICategory[] result = new ICategory[0];
-
- if (!(categories == null || categories.isEmpty())) {
- result = new ICategory[categories.size()];
- categories.toArray(result);
- }
- return result;
- }
-
- /**
- * Adds a category to the referenced feature.
- *
- * @see IFeatureReference#addCategory(ICategory)
- * @since 2.0
- */
- public void addCategory(ICategory category) {
- this.addCategoryName(category.getName());
- }
-
- /**
- * Sets the feature reference URL.
- * This is typically performed as part of the feature reference creation
- * operation. Once set, the url should not be reset.
- *
- * @see IFeatureReference#setURL(URL)
- * @since 2.0
- */
- public void setURL(URL url) throws CoreException {
- if (url != null) {
- setURLString(url.toExternalForm());
- try {
- resolve(url, null);
- } catch (MalformedURLException e) {
- String id =
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status =
- new Status(
- IStatus.WARNING,
- id,
- IStatus.OK,
- Policy.bind("FeatureReference.UnableToResolveURL", url.toExternalForm()),
- e);
- //$NON-NLS-1$
- throw new CoreException(status);
- }
- }
- }
-
- /**
- * Associates a site with the feature reference.
- * This is typically performed as part of the feature reference creation
- * operation. Once set, the site should not be reset.
- *
- * @see IFeatureReference#setSite(ISite)
- * @since 2.0
- */
- public void setSite(ISite site) {
- setSiteModel((SiteModel) site);
- }
-
- /*
- * create an instance of a concrete feature corresponding to this reference
- */
- private IFeature createFeature(String featureType, URL url, ISite site)
- throws CoreException {
- IFeature feature = null;
- IFeatureFactory factory =
- FeatureTypeFactory.getInstance().getFactory(featureType);
- feature = factory.createFeature(url, site);
- return feature;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IArchiveReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IArchiveReference.java
deleted file mode 100644
index b1e7f2b..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IArchiveReference.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Site archive interface.
- * Site archive is a representation of a packaged archive (file) located
- * on an update site. It allows a "symbolic" path used to identify
- * a plug-in or non-plug-in feature entry to be explicitly mapped
- * to a specific URL.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.ArchiveReference
- * @since 2.0
- */
-public interface IArchiveReference extends IAdaptable {
-
- /**
- *
- * @return the archive "symbolic" path, or <code>null</code>
- * @since 2.0
- */
- public String getPath();
-
- /**
- * Retrieve the site archive URL
- *
- * @return the archive URL, or <code>null</code>
- * @since 2.0
- */
- public URL getURL();
-}
\ No newline at end of file
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 841e571..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/ICategory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Feature category definition.
- * A site can organize its features into categories. Categories
- * can be further organized into hierarchies. Each category name
- * is a composed of the name of its parent and a simple identifier
- * separated by a slash ("/"). For example <code>tools/utilities/print</code>
- * defines a category that is a child of <code>tools/utilities</code> and
- * grandchild of <code>tools</code>.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.Category
- * @since 2.0
- */
-public interface ICategory extends IAdaptable{
-
- /**
- * Retrieve the name of the category. The name can be a simple
- * token (root category) or a number of slash-separated ("/")
- * tokens.
- *
- * @return the category name
- * @since 2.0
- */
- public String getName();
-
- /**
- * Retrieve the displayable label for the category
- *
- * @return displayable category label, or <code>null</code>
- * @since 2.0
- */
- public String getLabel();
-
- /**
- * Retrieve the detailed category description
- *
- * @return category description, or <code>null</code>
- * @since 2.0
- */
- public IURLEntry getDescription();
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IContentConsumer.java
deleted file mode 100644
index d3a9803..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IContentConsumer.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Generic content consumer.
- * A generic content consumer is used to store plug-in and non-plug-in files
- * for a feature.
- * <p>
- * Clients may implement this interface. However, in most cases clients
- * will only use the content consumer provided by the feature type(s)
- * implemented by the platform.
- * </p>
- * @see org.eclipse.update.core.IFeatureContentConsumer
- * @since 2.0
- */
-public interface IContentConsumer {
-
- /**
- * Stores a file.
- *
- * @see IFeatureContentConsumer#open(IPluginEntry)
- * @see IFeatureContentConsumer#open(INonPluginEntry)
- * @param ContentReference reference to the file to store
- * @param IProgressMonitor progress monitor, can be <code>null</code>
- * @exception CoreException
- * @since 2.0
- */
- public void store(ContentReference contentReference, IProgressMonitor monitor)
- throws CoreException;
-
- /**
- * Indicates successful completion of the store operations for this
- * consumer
- *
- * @exception CoreException
- * @since 2.0
- */
-
- public void close() throws CoreException;
-
-}
\ No newline at end of file
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 f816eff..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeature.java
+++ /dev/null
@@ -1,352 +0,0 @@
-package org.eclipse.update.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-
-/**
- * Feature defines the packaging "container" 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>
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.Feature
- * @since 2.0
- */
-public interface IFeature extends IAdaptable {
-
- /**
- * Returns the feature identifier.
- *
- * @return the feature identifier.
- * @since 2.0
- */
- public VersionedIdentifier getVersionedIdentifier();
-
- /**
- * Returns the site this feature is associated with.
- *
- * @return the site for this feature
- * @since 2.0
- */
- public ISite getSite();
-
- /**
- * Returns the displayable label of the feature.
- *
- * @return feature label, or <code>null</code>.
- * @since 2.0
- */
- public String getLabel();
-
- /**
- * Returns the feature URL.
- * This is the URL that was used to create the feature. The interpretation
- * of the URL is dependent on the concrete feature implementation. *
- *
- * @see IFeatureFactory#createFeature(URL, ISite)
- * @return feature URL
- * @since 2.0
- */
- public URL getURL();
-
- /**
- * Returns an information entry referencing the location of the
- * feature update site. The update site can be accessed to obtain
- * feature updates for this feature.
- *
- * @return update site entry, or <code>null</code>.
- * @since 2.0
- */
- public IURLEntry getUpdateSiteEntry();
-
- /**
- * Return an array of information entries referencing locations of other
- * update sites. This mechanism can be used by features to distribute
- * location information about general update sites to clients.
- *
- * @return an array of site entries, or an empty array.
- * @since 2.0
- */
- public IURLEntry[] getDiscoverySiteEntries();
-
- /**
- * Returns a displayable label identifying the provider of this feature
- *
- * @return provider label, or <code>null</code>.
- * @since 2.0
- */
- public String getProvider();
-
- /**
- * Returns and optional custom install handler entry.
- *
- * @return install handler entry, or <code>null</code> if
- * none was specified
- * @since 2.0
- */
- public IInstallHandlerEntry getInstallHandlerEntry();
-
- /**
- * Returns the feature description.
- *
- * @return feature rescription, or <code>null</code>.
- * @since 2.0
- */
- public IURLEntry getDescription();
-
- /**
- * Returns the copyright information for the feature.
- *
- * @return copyright information, or <code>null</code>.
- * @since 2.0
- */
- public IURLEntry getCopyright();
-
- /**
- * Returns the license information for the feature.
- *
- * @return feature license, or <code>null</code>.
- * @since 2.0
- */
- public IURLEntry getLicense();
-
- /**
- * Returns optional operating system specification.
- * A comma-separated list of os designators defined by the platform.
- * 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, or <code>null</code>.
- * @since 2.0
- */
- public String getOS();
-
- /**
- * Returns optional windowing system specification.
- * A comma-separated list of ws designators defined by the platform.
- * 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, or <code>null</code>.
- * @since 2.0
- */
- public String getWS();
-
- /**
- * Returns optional system architecture specification.
- * A comma-separated list of arch designators defined by the platform.
- * Indicates this feature should only be installed on one of the specified
- * 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 system architecture specification, or <code>null</code>.
- * @since 2.0
- */
- public String getArch();
-
- /**
- * Returns 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, or <code>null</code>.
- * @since 2.0
- */
- public String getNL();
-
- /**
- * Return optional image for the feature.
- *
- * @return the URL pointing to the image, , or <code>null</code>.
- * @since 2.0
- */
- public URL getImage();
-
- /**
- * Return a list of plug-in dependencies for this feature. A plug-in
- * dependency is a reference to a plug-in required for feature execution
- * that is not packaged as part of the feature.
- *
- * @return the list of required plug-in dependencies, or an empty array.
- * @since 2.0
- */
- public IImport[] getImports();
-
- /**
- * Install the contents of this feature into the specified target feature.
- *
- * @param targetFeature
- * @param verificationListener
- * @param monitor
- * @throws CoreException
- * @since 2.0
- */
- public IFeatureReference install(
- IFeature targetFeature,
- IVerificationListener verificationListener,
- IProgressMonitor monitor)
- throws CoreException;
-
- /**
- * Returns an array of plug-in entries referenced by this feature
- *
- * @return an erray of plug-in entries, or an empty array.
- * @since 2.0
- */
- public IPluginEntry[] getPluginEntries();
-
- /**
- * Returns the count of referenced plug-in entries.
- *
- * @return plug-in entry count
- * @since 2.0
- */
- public int getPluginEntryCount();
-
- /**
- * Returns an array of non-plug-in entries referenced by this feature
- *
- * @return an erray of non-plug-in entries, or an empty array.
- * @since 2.0
- */
- public INonPluginEntry[] getNonPluginEntries();
-
- /**
- * Returns the count of referenced non-plug-in entries.
- *
- * @return non-plug-in entry count
- * @since 2.0
- */
- public int getNonPluginEntryCount();
-
- /**
- * Returns the download size of the feature, if it can be determined.
- *
- * @see org.eclipse.update.core.model.ContentEntryModel#UNKNOWN_SIZE
- * @return download size of the feature in KiloBytes, or an indication
- * the size could not be determined
- * @since 2.0
- */
- public long getDownloadSize();
-
- /**
- * Returns the install size of the feature, if it can be determined.
- *
- * @see org.eclipse.update.core.model.ContentEntryModel#UNKNOWN_SIZE
- * @return install size of the feature in KiloBytes, or an indication
- * the size could not be determined
- * @since 2.0
- */
- public long getInstallSize();
-
- /**
- * Indicates whether the feature can be used as a primary feature.
- *
- * @return <code>true</code> if this is a primary feature,
- * otherwise <code>false</code>
- * @since 2.0
- */
- public boolean isPrimary();
-
- /**
- * Returns an optional identifier of an application to be used when
- * starting up the platform with this feature as the primary feature.
- * The application identifier must represent a valid application registered
- * in the <code>org.eclipse.core.runtime.applications</code> extension point.
- *
- * @return application identifier, or <code>null</code>
- * @since 2.0
- */
- public String getApplication();
-
- /**
- * Returns the content provider for this feature. A content provider
- * is an abstraction of each feature internal packaging structure.
- * It allows the feature content to be accessed in a standard way
- * regardless of the internal packaging. All concrete features
- * need to be able to return a content provider.
- *
- * @return feature content provider
- * @exception CoreExcepton
- * @since 2.0
- */
- public IFeatureContentProvider getFeatureContentProvider()
- throws CoreException;
-
- /**
- * Returns the content consumer for this feature. A content consumer
- * is an abstraction of each feature internal packaging mechanism.
- * It allows content to be stored into a feature in a standard way
- * regardless of the packaging mechanism used. Only concrete features
- * that support storing need to implement a content consumer. The platform
- * implements at least one feature type supporting content consumer.
- * This is the feature type representing a locally-installed
- * feature.
- *
- * @return feature content consumer
- * @exception CoreException
- * @exception UnsupportedOperationException
- * @since 2.0
- */
- public IFeatureContentConsumer getFeatureContentConsumer()
- throws CoreException;
-
- /**
- * Sets the site for this feature. This is typically performed as part
- * of the feature creation operation. Once set, the site
- * should not be reset.
- *
- * @param site the site
- * @throws CoreException site for this feature is already set
- * @since 2.0
- */
- public void setSite(ISite site) throws CoreException;
-
- /**
- * Sets the content provider for this feature. This is typically
- * performed as part of the feature creation operation. Once set, the
- * provider should not be reset.
- *
- * @see IFeatureFactory#createFeature(URL, ISite)
- * @param featureContentProvider content provider
- * @since 2.0
- */
- public void setFeatureContentProvider(IFeatureContentProvider featureContentProvider);
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureContentConsumer.java
deleted file mode 100644
index e36a932..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureContentConsumer.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Feature content consumer.
- * A feature content consumer is an abstraction of each feature internal
- * packaging mechanism. It allows content to be stored into a feature in
- * a standard way regardless of the packaging mechanism used. Only concrete
- * features that support storing need to implement a content consumer.
- * The platform implements at least one feature type supporting content
- * consumer. This is the feature type representing a locally-installed
- * feature.
- * <p>
- * A feature content consumer delegates the storage of plug-in and
- * non-plug-in files to a generic content consumer.
- * </p>
- * <p>
- * Clients may implement this interface. However, in most cases clients
- * will only use the feature content consumer provided by the feature type(s)
- * implemented by the platform.
- * </p>
- * @see org.eclipse.update.core.IContentConsumer
- * @since 2.0
- */
-public interface IFeatureContentConsumer {
-
- /**
- * Store a feature file.
- * Note that only the feature definition files should be stored using
- * this method. Plug-in files and non-plug-in data files should be
- * stored using the content consumers corresponding to their respective
- * entries.
- *
- * @see #open(IPluginEntry)
- * @see #open(INonPluginEntry)
- * @param ContentReference content reference to feature file
- * @param IProgressMonitor progress monitor, can be <code>null</code>
- * @exception CoreException
- * @since 2.0
- */
- public void store(ContentReference contentReference, IProgressMonitor monitor)
- throws CoreException;
-
- /**
- * Opens a generic content consumer for the specified plug-in entry.
- * Plug-in files corresponding to this entry should be stored
- * using this content consumer.
- *
- * @param nonPluginEntry non-plug-in entry
- * @return generic content consumer for the entry
- * @exception CoreException
- * @since 2.0
- */
-
- public IContentConsumer open(IPluginEntry pluginEntry) throws CoreException;
-
- /**
- * Opens a generic content consumer for the specified non-plug-in entry.
- * Non-plug-in files corresponding to this entry should be stored
- * using this content consumer.
- *
- * @param nonPluginEntry non-plug-in entry
- * @return generic content consumer for the entry
- * @exception CoreException
- * @since 2.0
- */
- public IContentConsumer open(INonPluginEntry nonPluginEntry)
- throws CoreException;
-
- /**
- * Closes this content consumer. This indicates a successful completion
- * of the store operations. The content consumer commits any changes
- * made by this consumer.
- *
- * @return reference to the newly populated feature
- * @exception CoreException
- * @since 2.0
- */
- public IFeatureReference close() throws CoreException;
-
- /**
- * Closes this content consumer, indicating the store operations should
- * be aborted. The content consumer attempts to back out any changes
- * made by this content consumer.
- *
- * @exception CoreException
- * @since 2.0
- */
-
- public void abort() throws CoreException;
-
- /**
- * Sets the feature for this content consumer.
- * In general, this method should only be called as part of
- * feature creation. Once set, the feature should not be reset.
- *
- * @param feature feature for this content consumer
- * @since 2.0
- */
- public void setFeature(IFeature feature);
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureContentProvider.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureContentProvider.java
deleted file mode 100644
index 65eb47a..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureContentProvider.java
+++ /dev/null
@@ -1,258 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Feature content provider.
- * A feature content provider is an abstraction of each feature internal
- * packaging structure. It allows the feature content to be accessed in
- * a standard way regardless of the internal packaging. All concrete feature
- * implementations need to implement a feature content provider.
- * <p>
- * There are two ways of looking at a feature content:
- * <ol>
- * <li>the "logical" view, which is a representation of the actual files that
- * make up the feature. These include any files that describe the feature
- * itself, files that are the actual implementation of referenced plug-ins,
- * and files that are the non-plug-in data files associated with the feature
- * <li>the "packaged" view, which is a set of related archive files that
- * contain the "logical" files.
- * </ol>
- * It is the responsibility of a feature content provider to manage the
- * mapping between the "packaged" and "logical" views.
- * </p>
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.FeatureContentProvider
- * @since 2.0
- */
-public interface IFeatureContentProvider {
-
- /**
- * Returns the feature url.
- * The exact interpretation of this URL is specific to each content
- * provider. Typically, the URL is a reference to a file that can be
- * used directly, or indirectly, to determine the content of the feature.
- *
- * @return feature url
- * @since 2.0
- */
- public URL getURL();
-
- /**
- * Returns a content reference to the feature manifest. The feature manifest
- * is an xml file, whose format is specified by the platform. Typically
- * a feature will contain the manifest as one of the packaged files.
- * For features that do not contain the manifest, or contain a manifest
- * that does not follow the specified format, this method returns
- * a reference to a computed manifest in the appropriate platform
- * format.
- *
- * @param monitor progress monitor, can be <code>null</code>
- * @return feature manifest reference
- * @since 2.0
- */
- public ContentReference getFeatureManifestReference(InstallMonitor monitor)
- throws CoreException;
-
- /**
- * Returns an array of content references of all the "packaged"
- * archives that make up this feature.
- * <p>
- * The number of returned references is dependent on each feature
- * content provider (ie. is dependent on the packaging mechanism used
- * by the particular feature type).
- * </p>
- *
- * @param monitor progress monitor, can be <code>null</code>
- * @return an array of references, or an empty array if no references
- * are found
- * @exception CoreException
- * @since 2.0
- */
- public ContentReference[] getArchiveReferences(InstallMonitor monitor)
- throws CoreException;
-
- /**
- * Returns an array of content references of the "packaged"
- * archives that contain the feature descriptive information.
- * <p>
- * In general, the feature descriptive information should be packaged
- * separately from the "bulk" of the actual feature content.
- * The feature entry archive(s) must be downloaded from an update
- * site in order to present information about the feature to the
- * client. Consequently, keeping the number and size of the feature
- * entry archive(s) to a minimum will speed up the responsiveness of the
- * user interface.
- * </p>
- * <p>
- * The number of returned references is dependent on each feature
- * content provider (ie. is dependent on the packaging mechanism used
- * by the particular feature type).
- * </p>
- *
- * @see IFeatureContentProvider#getFeatureEntryContentReferences(InstallMonitor)
- * @param monitor progress monitor, can be <code>null</code>
- * @return an array of references, or an empty array if no references
- * are found
- * @exception CoreException
- * @since 2.0
- */
- public ContentReference[] getFeatureEntryArchiveReferences(InstallMonitor monitor)
- throws CoreException;
-
- /**
- * Returns an array of content references of the "packaged"
- * archives that contain the files for the specified plug-in entry.
- * <p>
- * The number of returned references is dependent on each feature
- * content provider (ie. is dependent on the packaging mechanism used
- * by the particular feature type).
- * </p>
- *
- * @see IFeatureContentProvider#getPluginEntryContentReferences(IPluginEntry, InstallMonitor)
- * @param pluginEntry plug-in entry
- * @param monitor progress monitor, can be <code>null</code>
- * @return an array of references, or an empty array if no references
- * are found
- * @exception CoreException
- * @since 2.0
- */
- public ContentReference[] getPluginEntryArchiveReferences(
- IPluginEntry pluginEntry,
- InstallMonitor monitor)
- throws CoreException;
-
- /**
- * Returns an array of content references of the "packaged"
- * archives that contain the files for the specified non-plug-in entry.
- * <p>
- * The number of returned references is dependent on each feature
- * content provider (ie. is dependent on the packaging mechanism used
- * by the particular feature type).
- * </p>
- * <p>
- * Note, that the platform does not interpret non-plug-in entries in any
- * way, other that performing any required downloads. Non-plug-in entries
- * are handled by custom install handlers that must be specified for
- * the feature. Consequently, this interface does not make a distinction
- * between the "logical" and "packaged" views for non-plug-in entries.
- * The "packaged" view (returning references to the non-plug-in archives)
- * is the only one supported. It is the responsibility of the custom install
- * handler to understand the "logical" view of non-plug-in archives.
- * </p>
- *
- * @param monitor progress monitor, can be <code>null</code>
- * @return an array of references, or an empty array if no references
- * are found
- * @exception CoreException
- * @since 2.0
- */
- public ContentReference[] getNonPluginEntryArchiveReferences(
- INonPluginEntry nonPluginEntry,
- InstallMonitor monitor)
- throws CoreException;
-
- /**
- * Returns an array of content references to the feature definition files
- * (ie. the "logical" view of the files defining the feature). These
- * are the files required to present information about the feature to the
- * client, and in general, should not contain references to plug-in and
- * non-plug-in files.
- *
- * @see IFeatureContentProvider#getFeatureEntryArchiveReferences(InstallMonitor)
- * @param monitor progress monitor, can be <code>null</code>
- * @return an array of ContentReference or an empty array if no references are found
- * @exception CoreException when an error occurs
- * @since 2.0
- */
- public ContentReference[] getFeatureEntryContentReferences(InstallMonitor monitor)
- throws CoreException;
-
- /**
- * Returns an array of content references to the files implementing
- * the specified plug-in. (ie. the "logical" view of the plug-in).
- *
- * @see IFeatureContentProvider#getPluginEntryArchiveReferences(IPluginEntry, InstallMonitor)
- * @param monitor progress monitor, can be <code>null</code>
- * @return an array of ContentReference or an empty array if no references are found
- * @exception CoreException
- * @since 2.0
- */
- public ContentReference[] getPluginEntryContentReferences(
- IPluginEntry pluginEntry,
- InstallMonitor monitor)
- throws CoreException;
-
- /**
- * Returns the total size of all archives required for the
- * specified plug-in and non-plug-in entries (the "packaging" view).
- *
- * @param pluginEntries an array of plug-in entries
- * @param nonPluginEntries an array of non-plug-in entries
- * @return total download size, or an indication that size could not be
- * determined
- * @see org.eclipse.update.core.model.ContentEntryModel#UNKNOWN_SIZE
- * @exception CoreException
- * @since 2.0
- */
- public long getDownloadSizeFor(
- IPluginEntry[] pluginEntries,
- INonPluginEntry[] nonPluginEntries);
-
- /**
- * Returns the total size of all files required for the
- * specified plug-in and non-plug-in entries (the "logical" view).
- *
- * @param pluginEntries an array of plug-in entries
- * @param nonPluginEntries an array of non-plug-in entries
- * @return total download size, or an indication that size could not be
- * determined
- * @see org.eclipse.update.core.model.ContentEntryModel#UNKNOWN_SIZE
- * @exception CoreException
- * @since 2.0
- */
- public long getInstallSizeFor(
- IPluginEntry[] pluginEntries,
- INonPluginEntry[] nonPluginEntries);
-
- /**
- * Returns the verifier for this feature.
- * If provided, the verifier is called at various point during
- * installation processing to verify downloaded archives. The
- * type of verification provided is dependent on the content
- * provider implementation.
- *
- * @return verifier
- * @exception CoreException
- * @since 2.0
- */
- public IVerifier getVerifier() throws CoreException;
-
- /**
- * Returns the feature associated with this content provider.
- *
- * @return feature for this content provider
- * @since 2.0
- */
- public IFeature getFeature();
-
- /**
- * Sets the feature associated with this content provider.
- * In general, this method should only be called as part of
- * feature creation. Once set, the feature should not be reset.
- *
- * @param feature feature for this content provider
- * @since 2.0
- */
- public void setFeature(IFeature feature);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureFactory.java
deleted file mode 100644
index 2d596f0..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Feature factory interface.
- * A feature factory is used to construct new instances of concrete
- * features.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.BaseFeatureFactory
- * @since 2.0
- */
-public interface IFeatureFactory {
-
- /**
- * Returns a feature defined by the supplied URL. The feature
- * is associated with the specified site.
- * <p>
- * The actual interpretation of the URL is feature-type specific.
- * In most cases the URL will point to some feature-specific
- * file that can be used (directly or indirectly) to construct
- * the feature object.
- * </p>
- * @param url URL interpreted by the feature
- * @param site site to be associated with the feature
- * @return concrete feature object
- * @exception CoreException
- * @since 2.0
- */
- public IFeature createFeature(URL url, ISite site) throws CoreException;
-}
\ No newline at end of file
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 01d7f01..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IFeatureReference.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-/**
- * Feature reference.
- * A reference to a feature on a particular update site.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.FeatureReference
- * @since 2.0
- */
-public interface IFeatureReference extends IAdaptable {
-
- /**
- * Returns the referenced feature URL.
- *
- * @return feature URL
- * @since 2.0
- */
- public URL getURL();
-
- /**
- * Returns the update site for the referenced feature
- *
- * @return feature site
- * @since 2.0
- */
- public ISite getSite();
-
- /**
- * Returns an array of categories the referenced feature belong to.
- *
- * @return an array of categories, or an empty array
- * @since 2.0
- */
- public ICategory[] getCategories();
-
- /**
- * Returns the referenced feature.
- * This is a factory method that creates the full feature object.
- *
- * @return the referenced feature
- * @since 2.0
- */
- public IFeature getFeature() throws CoreException;
-
- /**
- * Adds a category to the referenced feature.
- *
- * @param category new category
- * @since 2.0
- */
- public void addCategory(ICategory category);
-
- /**
- * Sets the feature reference URL.
- * This is typically performed as part of the feature reference creation
- * operation. Once set, the url should not be reset.
- *
- * @param url reference URL
- * @since 2.0
- */
- public void setURL(URL url) throws CoreException;
-
- /**
- * Associates a site with the feature reference.
- * This is typically performed as part of the feature reference creation
- * operation. Once set, the site should not be reset.
- *
- * @param site site for the feature reference
- * @since 2.0
- */
- public void setSite(ISite site);
-
-}
\ No newline at end of file
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 ea56db8..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IImport.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.update.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Plug-in dependency entry.
- * Describes a feture dependency on a particular plug-in. The dependency
- * can specify a specific plug-in version and a matching rule for
- * satisfying the dependency.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.Import
- * @since 2.0
- */
-public interface IImport extends IAdaptable {
-
- /**
- * No matching rule specified
- * @since 2.0
- */
- public static final int RULE_NONE = 0;
-
- /**
- * Dependency can be satisfied only with plug-in version matching
- * exactly the specified version.
- * @since 2.0
- */
- public static final int RULE_PERFECT = 1;
-
- /**
- * Dependency can be satisfied only with plug-in version that is
- * equivalent to the specified version (same major and minor version
- * identifier, greater than or equal service identifier).
- * @since 2.0
- */
- public static final int RULE_EQUIVALENT = 2;
-
- /**
- * Dependency can be satisfied only with plug-in version that is
- * compatible with the specified version (either is equivalent,
- * or greater minor identifier (but same major identifier)).
- * @since 2.0
- */
- public static final int RULE_COMPATIBLE = 3;
-
- /**
- * Dependency can be satisfied only with plug-in version that is
- * greater or equal to the specified version.
- * @since 2.0
- */
- public static final int RULE_GRATER_OR_EQUAL = 4;
-
- /**
- * Returns an identifier of the dependent plug-in.
- *
- * @return plug-in identifier
- * @since 2.0
- */
- public VersionedIdentifier getVersionedIdentifier();
-
- /**
- * Returns the matching rule for the dependency.
- *
- * @return matching rule
- * @since 2.0
- */
- public int getRule();
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallHandler.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallHandler.java
deleted file mode 100644
index 15a018d..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallHandler.java
+++ /dev/null
@@ -1,232 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Custom install handler.
- * Custom install handlers can optionally be associated with a feature.
- * The actual install handler implementation can be physically delivered
- * as part of the feature package, or can already be installed on the client
- * machine and registered via the <code>org.eclipse.update.core.installHandlers</code>
- * extension point. The install handler methods are called at predetermined
- * point during update actions.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly subclass the provided implementation of this interface.
- * </p>
- * @see org.eclipse.update.core.BaseInstallHandler
- * @since 2.0
- */
-public interface IInstallHandler {
-
- /**
- * Indicates the handler is being initialized for feature install.
- * @since 2.0
- */
- public static final int HANDLER_ACTION_INSTALL = 1;
-
- /**
- * Indicates the handler is being initialized for feature configure.
- * @since 2.0
- */
- public static final int HANDLER_ACTION_CONFIGURE = 2;
-
- /**
- * Indicates the handler is being initialized for feature unconfigure.
- * @since 2.0
- */
- public static final int HANDLER_ACTION_UNCONFIGURE = 3;
-
- /**
- * Indicates the handler is being initialized for feature uninstall.
- * @since 2.0
- */
- public static final int HANDLER_ACTION_UNINSTALL = 4;
-
- /**
- * Initialize the install handler.
- * Install handlers are always constructed using the default constructor.
- * The are initialized immediately following construction.
- *
- * @param type update action type
- * @param feature the target of the action
- * @param entry model entry that defines this handler
- * @param monitor optional progress monitor, can be <code>null</code>
- * @exception CoreException
- * @since 2.0
- */
- public void initialize(
- int type,
- IFeature feature,
- IInstallHandlerEntry entry,
- InstallMonitor monitor)
- throws CoreException;
-
- /**
- * Called at the start of the install action. At this point, no install
- * processing has taken place.
- *
- * @see #HANDLER_ACTION_INSTALL
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void installInitiated() throws CoreException;
-
- /**
- * Called after files corresponding to plug-in entries have been downloaded,
- * but before they are actully unpacked and installed.
- *
- * @see #HANDLER_ACTION_INSTALL
- * @param plugins downloaded plug-in entries. Note this may be a subset
- * of the plug-ins actually references by the feature.
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void pluginsDownloaded(IPluginEntry[] plugins) throws CoreException;
-
- /**
- * Called after files corresponding to non-plug-in entries have been
- * downloaded. The custom install handler can perform any custom
- * verification of the non-plug-in entries (these are not interpreted
- * in any way by the platform (beyond downloading)).
- *
- * @see #HANDLER_ACTION_INSTALL
- * @param nonPluginData downloaded non-plug-in entries.
- * @param listener verification listener, may be <code>null</code>.
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void nonPluginDataDownloaded(
- INonPluginEntry[] nonPluginData,
- IVerificationListener listener)
- throws CoreException;
-
- /**
- * Called after the feature files and any downloaded plug-ins have
- * been installed. Typically this is the point where the custom
- * install handler can install any non-plug-in entries (these are not
- * interpreted in any way by the platform (beyond downloading)).
- *
- * @see #HANDLER_ACTION_INSTALL
- * @param consumer content consumer for the feature. The install handler
- * can choose to use this consumer to install the non-plug-in data,
- * or can handle the data in any other way. If using the consumer,
- * the install handler should only call
- * @see IFeatureContentConsumer#store(ContentReference, IProgressMonitor)
- * and @see IFeatureContentConsumer#open(INonPluginEntry)
- * methods of the consumer.
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void completeInstall(IFeatureContentConsumer consumer)
- throws CoreException;
-
- /**
- * Called at the end of the install action.
- *
- * @see #HANDLER_ACTION_INSTALL
- * @param success indicates action success.
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void installCompleted(boolean success) throws CoreException;
-
- /**
- * Called at the start of the configure action
- *
- * @see #HANDLER_ACTION_CONFIGURE
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void configureInitiated() throws CoreException;
-
- /**
- * Called after the feature has been configured. The install handler
- * should perform any completion tasks. No arguments are passed
- * to the method. If needed, the install handler can use arguments
- * passed on the initialization call.
- *
- * @see #HANDLER_ACTION_CONFIGURE
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void completeConfigure() throws CoreException;
-
- /**
- * Called at the end of the configure action.
- *
- * @see #HANDLER_ACTION_CONFIGURE
- * @param success indicates action success.
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void configureCompleted(boolean success) throws CoreException;
-
- /**
- * Called at the start of the unconfigure action
- *
- * @see #HANDLER_ACTION_UNCONFIGURE
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void unconfigureInitiated() throws CoreException;
-
- /**
- * Called after the feature has been unconfigured. The install handler
- * should perform any completion tasks. No arguments are passed
- * to the method. If needed, the install handler can use arguments
- * passed on the initialization call.
- *
- * @see #HANDLER_ACTION_UNCONFIGURE
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void completeUnconfigure() throws CoreException;
-
- /**
- * Called at the end of the unconfigure action.
- *
- * @see #HANDLER_ACTION_UNCONFIGURE
- * @param success indicates action success.
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void unconfigureCompleted(boolean success) throws CoreException;
-
- /**
- * Called at the start of the uninstall action
- *
- * @see #HANDLER_ACTION_UNINSTALL
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void uninstallInitiated() throws CoreException;
-
- /**
- * Called after the feature has been uninstalled. The install handler
- * should perform any completion tasks. No arguments are passed
- * to the method. If needed, the install handler can use arguments
- * passed on the initialization call. Note, that at this point
- * the feature files and any unreferenced plug-ins have been
- * removed.
- *
- * @see #HANDLER_ACTION_UNINSTALL
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void completeUninstall() throws CoreException;
-
- /**
- * Called at the end of the uninstall action.
- *
- * @see #HANDLER_ACTION_UNINSTALL
- * @param success indicates action success.
- * @exception CoreException terminates the action
- * @since 2.0
- */
- public void uninstallCompleted(boolean success) throws CoreException;
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallHandlerEntry.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallHandlerEntry.java
deleted file mode 100644
index 784e5a6..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IInstallHandlerEntry.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Install handler entry.
- * Associates an optional custom install handler with the feature.
- * Install handlers must implement the IInstallHandler interface.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.InstallHandlerEntry
- * @see org.eclipse.update.core.IInstallHandler
- * @since 2.0
- */
-public interface IInstallHandlerEntry extends IAdaptable {
-
- /**
- * Returns optional URL used for browser-triggered installation handling.
- *
- * @return url
- * @since 2.0
- */
- public URL getURL();
-
- /**
- * Returns optional name of a library containing the install
- * handler classes. If specified, the referenced library
- * must be contained in the feature archive.
- *
- * @return install handler library name
- * @since 2.0
- */
- public String getLibrary();
-
- /**
- * Returns install handler name.
- * It is interpreted depending on the value of the library
- * specification. If library is not specified, the name
- * is intepreted as an identifier of a "global" install
- * handler registered in the <code>org.eclipse.update.core.installHandlers</code>
- * extension point. If library is specified, the name is interpreted
- * as a fully qualified name of a class contained in the
- * library. In both cases, the resulting class must
- * implement 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 plug-ins required by the update plugin.
- *
- * @see IInstallHandler
- * @return handler name
- * @since 2.0
- */
- public String getHandlerName();
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/INonPluginEntry.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/INonPluginEntry.java
deleted file mode 100644
index 712bf39..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/INonPluginEntry.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Non-plug-in entry defines an arbitrary non-plug-in data file packaged
- * as part of a feature. Non-plug-in entries are not interpreted by the
- * platform (other than being downloaded as part of an install action).
- * They require a custom install handler to be specified as part of the
- * feature. Note, that defining a non-plug-in entry does not necessarily
- * indicate the non-plug-in file is packaged together with any other
- * feature files. The actual packaging details are determined by the
- * feature content provider for the feature.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.NonPluginEntry
- * @see org.eclipse.update.core.FeatureContentProvider
- * @since 2.0
- */
-public interface INonPluginEntry extends IAdaptable {
-
- /**
- * Returns the identifier of this data entry.
- *
- * @return data entry identifier
- * @since 2.0
- */
- public String getIdentifier();
-
- /**
- * Returns the download size of the entry, if it can be determined.
- *
- * @see org.eclipse.update.core.model.ContentEntryModel#UNKNOWN_SIZE
- * @return download size of the feature in KiloBytes, or an indication
- * the size could not be determined
- * @since 2.0
- */
- public long getDownloadSize();
-
- /**
- * Returns the install size of the feature, if it can be determined.
- *
- * @see org.eclipse.update.core.model.ContentEntryModel#UNKNOWN_SIZE
- * @return install size of the feature in KiloBytes, or an indication
- * the size could not be determined
- * @since 2.0
- */
- public long getInstallSize();
-
- /**
- * Returns optional operating system specification.
- * A comma-separated list of os designators defined by the platform.
- * Indicates this entry should only be installed on one of the specified
- * os systems. If this attribute is not specified, the entry can be
- * installed on all systems (portable implementation).
- *
- * This information is used as a hint by the installation and update
- * support.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return the operating system specification, or <code>null</code>.
- * @since 2.0
- */
- public String getOS();
-
- /**
- * Returns optional system architecture specification.
- * A comma-separated list of arch designators defined by the platform.
- * Indicates this entry should only be installed on one of the specified
- * systems. If this attribute is not specified, the entry can be
- * installed on all systems (portable implementation).
- *
- * This information is used as a hint by the installation and update
- * support.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return system architecture specification, or <code>null</code>.
- * @since 2.0
- */
- public String getWS();
-
- /**
- * Returns optional system architecture specification.
- * A comma-separated list of arch designators defined by the platform.
- * Indicates this entry should only be installed on one of the specified
- * systems. If this attribute is not specified, the entry can be
- * installed on all systems (portable implementation).
- *
- * This information is used as a hint by the installation and update
- * support.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return system architecture specification, or <code>null</code>.
- * @since 2.0
- */
- public String getArch();
-
- /**
- * Returns optional locale specification.
- * A comma-separated list of locale designators defined by Java.
- * Indicates this entry should only be installed on a system running
- * with a compatible locale (using Java locale-matching rules).
- * If this attribute is not specified, the entry can be installed
- * on all systems (language-neutral implementation).
- *
- * This information is used as a hint by the installation and update
- * support.
- *
- * @return the locale specification, or <code>null</code>.
- * @since 2.0
- */
- public String getNL();
-
-}
\ No newline at end of file
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 113b356..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IPluginEntry.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Plug-in entry defines a packaging reference from a feature to a plug-in.
- * It indicates that the referenced plug-in is to be considered as
- * part of the feature. Note, that this does not necessarily indicate
- * that the plug-in files are packaged together with any other
- * feature files. The actual packaging details are determined by the
- * feature content provider for the feature.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.PluginEntry
- * @see org.eclipse.update.core.FeatureContentProvider
- * @since 2.0
- */
-public interface IPluginEntry extends IAdaptable {
-
- /**
- * Returns the identifier of this plugin entry
- *
- * @return plugin entry identifier
- * @since 2.0
- */
- public VersionedIdentifier getVersionedIdentifier();
-
- /**
- * Returns an indication whethyer this entry represents a fragment.
- *
- * @return <code>true</code> if the entry represents a plug-in fragment,
- * <code>false</code> if the entry represents a plug-in
- * @since 2.0
- */
- public boolean isFragment();
-
- /**
- * Returns the download size of the entry, if it can be determined.
- *
- * @see org.eclipse.update.core.model.ContentEntryModel#UNKNOWN_SIZE
- * @return download size of the feature in KiloBytes, or an indication
- * the size could not be determined
- * @since 2.0
- */
- public long getDownloadSize();
-
- /**
- * Returns the install size of the feature, if it can be determined.
- *
- * @see org.eclipse.update.core.model.ContentEntryModel#UNKNOWN_SIZE
- * @return install size of the feature in KiloBytes, or an indication
- * the size could not be determined
- * @since 2.0
- */
- public long getInstallSize();
-
- /**
- * Returns optional operating system specification.
- * A comma-separated list of os designators defined by the platform.
- * Indicates this entry should only be installed on one of the specified
- * os systems. If this attribute is not specified, the entry can be
- * installed on all systems (portable implementation).
- *
- * This information is used as a hint by the installation and update
- * support.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return the operating system specification, or <code>null</code>.
- * @since 2.0
- */
- public String getOS();
-
- /**
- * Returns optional system architecture specification.
- * A comma-separated list of arch designators defined by the platform.
- * Indicates this entry should only be installed on one of the specified
- * systems. If this attribute is not specified, the entry can be
- * installed on all systems (portable implementation).
- *
- * This information is used as a hint by the installation and update
- * support.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return system architecture specification, or <code>null</code>.
- * @since 2.0
- */
- public String getWS();
-
- /**
- * Returns optional system architecture specification.
- * A comma-separated list of arch designators defined by the platform.
- * Indicates this entry should only be installed on one of the specified
- * systems. If this attribute is not specified, the entry can be
- * installed on all systems (portable implementation).
- *
- * This information is used as a hint by the installation and update
- * support.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return system architecture specification, or <code>null</code>.
- * @since 2.0
- */
- public String getArch();
-
- /**
- * Returns optional locale specification.
- * A comma-separated list of locale designators defined by Java.
- * Indicates this entry should only be installed on a system running
- * with a compatible locale (using Java locale-matching rules).
- * If this attribute is not specified, the entry can be installed
- * on all systems (language-neutral implementation).
- *
- * This information is used as a hint by the installation and update
- * support.
- *
- * @return the locale specification, or <code>null</code>.
- * @since 2.0
- */
- public String getNL();
-
- /**
- * Sets the identifier of this plugin entry.
- * This is typically performed as part of the plug-in entry creation
- * operation. Once set, the identifier should not be reset.
- *
- * @param identifier plugin entry identifier
- * @since 2.0
- */
- public void setVersionedIdentifier(VersionedIdentifier identifier);
-
-}
\ No newline at end of file
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 f043b29..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/ISite.java
+++ /dev/null
@@ -1,246 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-
-/**
- * Site represents a location containing some number of features (packaged
- * or installed). Sites are treated purely as an installation and packaging
- * construct. They do not play a role during Eclipse plug-in execution.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.Site
- * @since 2.0
- */
-public interface ISite extends IAdaptable {
-
- /**
- * Default type for an installed feature. Different concrete feature
- * implementations can be registered together with their corresponding type
- * using the <code>org.eclipse.update.core.featureTypes</code>
- * extension point.
- *
- * @since 2.0
- */
- public static final String DEFAULT_INSTALLED_FEATURE_TYPE =
- "org.eclipse.update.core.installed";
- //$NON-NLS-1$
-
- /**
- * Default type for a packaged feature. Different concrete feature
- * implementations can be registered together with their corresponding type
- * using the <code>org.eclipse.update.core.featureTypes</code>
- * extension point.
- *
- * @since 2.0
- */
- public static final String DEFAULT_PACKAGED_FEATURE_TYPE =
- "org.eclipse.update.core.packaged";
- //$NON-NLS-1$
-
- /**
- * Returns the site URL
- *
- * @return site URL
- * @since 2.0
- */
- public URL getURL();
-
- /**
- * Return the site type. Different concrete site implementations can be
- * registered together with their corresponding type using the
- * <code>org.eclipse.update.core.siteTypes</code> extension point.
- *
- * @return site type, or <code>null</code>.
- * @since 2.0
- */
- public String getType();
-
- /**
- * Returns the site description.
- *
- * @return site description, or <code>null</code>.
- * @since 2.0
- */
- public IURLEntry getDescription();
-
- /**
- * Returns an array of categories defined by the site.
- *
- * @return array of site categories, or an empty array.
- * @since 2.0
- */
- public ICategory[] getCategories();
-
- /**
- * Returns the named site category.
- *
- * @param name category name
- * @return named category, or <code>null</code> ifit does not exist
- * @since 2.0
- */
- public ICategory getCategory(String name);
-
- /**
- * Returns an array of references to features on this site.
- *
- * @return an array of feature references, or an empty array.
- * @since 2.0
- */
- public IFeatureReference[] getFeatureReferences();
-
- /**
- * Returns a reference to the specified feature on this site.
- *
- * @param feature feature
- * @return feature reference, or <code>null</code> if this feature
- * cannot be located on this site.
- */
- public IFeatureReference getFeatureReference(IFeature feature);
-
- /**
- * Returns an array of plug-in and non-plug-in archives located
- * on this site
- *
- * @return an array of archive references, or an empty array if there are
- * no archives known to this site. Note, that an empty array does not
- * necessarily indicate there are no archives accessible on this site.
- * It simply indicates the site has no prior knowledge of such archives.
- * @since 2.0
- */
- public IArchiveReference[] getArchives();
-
- /**
- * Returns the content provider for this site. A content provider
- * is an abstraction of each site organization. It allows the
- * content of the site to be accessed in a standard way
- * regardless of the organization. All concrete sites
- * need to be able to return a content provider.
- *
- * @return site content provider
- * @exception CoreException
- * @since 2.0
- */
- public ISiteContentProvider getSiteContentProvider() throws CoreException;
-
- /**
- * Returns the default type for a packaged feature supported by this site
- *
- * @return feature type, as registered in the
- * <code>org.eclipse.update.core.featureTypes</code> extension point.
- * @since 2.0
- */
- public String getDefaultPackagedFeatureType();
-
- /**
- * Returns an array of entries corresponding to plug-ins installed
- * on this site.
- *
- * @return array of plug-in entries,or an empty array.
- * @since 2.0
- */
- public IPluginEntry[] getPluginEntries();
-
- /**
- * Returns the number of plug-ins installed on this site
- *
- * @return number of installed plug-ins
- * @since 2.0
- */
- public int getPluginEntryCount();
-
- /**
- * Adds a new plug-in entry to this site.
- *
- * @param pluginEntry plug-in entry
- * @since 2.0
- */
- public void addPluginEntry(IPluginEntry pluginEntry);
-
- /**
- * Returns an array of entries corresponding to plug-ins that are
- * installed on this site and are referenced only by the specified
- * feature. These are plug-ins that are not shared with any other
- * feature.
- *
- * @param feature feature
- * @return an array of plug-in entries, or an empty array.
- * @exception CoreException
- * @since 2.0
- */
- public IPluginEntry[] getPluginEntriesOnlyReferencedBy(IFeature feature)
- throws CoreException;
-
- /**
- * Returns the size of the files that need to be downloaded in order
- * to install the specified feature on this site, if it can be determined.
- * This method takes into account any plug-ins that are already
- * available on this site.
- *
- * @see org.eclipse.update.core.model.ContentEntryModel#UNKNOWN_SIZE
- * @param feature candidate feature
- * @return download size of the feature in KiloBytes, or an indication
- * the size could not be determined
- * @since 2.0
- */
- public long getDownloadSizeFor(IFeature feature);
-
- /**
- * Returns the size of the files that need to be installed
- * for the specified feature on this site, if it can be determined.
- * This method takes into account any plug-ins that are already
- * installed on this site.
- *
- * @see org.eclipse.update.core.model.ContentEntryModel#UNKNOWN_SIZE
- * @param feature candidate feature
- * @return install size of the feature in KiloBytes, or an indication
- * the size could not be determined
- * @since 2.0
- */
- public long getInstallSizeFor(IFeature site);
-
- /**
- * Installs the specified feature on this site.
- *
- * @param feature feature to install
- * @param verificationListener install verification listener
- * @param monitor install monitor, can be <code>null</code>
- * @exception CoreException
- * @since 2.0
- */
- public IFeatureReference install(
- IFeature feature,
- IVerificationListener verificationListener,
- IProgressMonitor monitor)
- throws CoreException;
-
- /**
- * Removes (uninstalls) the specified feature from this site. This method
- * takes into account plug-in entries referenced by the specified fetaure
- * that continue to be required by other features installed on this site.
- *
- * @param feature feature to remove
- * @param monitor progress monitor
- * @exception CoreException
- * @since 2.0
- */
- public void remove(IFeature feature, IProgressMonitor monitor)
- throws CoreException;
-
- /**
- * Sets the site content provider. This is typically performed
- * as part of the site creation operation. Once set, the
- * provider should not be reset.
- *
- * @param siteContentProvider site content provider
- * @since 2.0
- */
- public void setSiteContentProvider(ISiteContentProvider siteContentProvider);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/ISiteContentProvider.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/ISiteContentProvider.java
deleted file mode 100644
index c5621f2..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/ISiteContentProvider.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Site content provider.
- * A site content provider is an abstraction of each site internal
- * organization. It allows the site content to be accessed in
- * a standard way regardless of the internal organization. All concrete site
- * implementations need to implement a site content provider.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.SiteContentProvider
- * @since 2.0
- */
-
-public interface ISiteContentProvider {
-
- /**
- * Returns the URL of this site
- *
- * @return site URL
- * @since 2.0
- */
- public URL getURL();
-
-
- /**
- * Returns a URL for the identified archive.
- *
- * @param id archive identifier
- * @return archive URL, or <code>null</code>.
- * @exception CoreException
- * @since 2.0
- */
- public URL getArchiveReference(String id) throws CoreException;
-
- /**
- * Returns the site for this provider.
- *
- * @return provider site
- * @since 2.0
- */
- public ISite getSite();
-
- /**
- * Sets the site for this provider.
- * In general, this method should only be called as part of
- * site creation. Once set, the site should not be reset.
- *
- * @param site provider site
- * @since 2.0
- */
- public void setSite(ISite site);
-}
-
-
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/ISiteFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/ISiteFactory.java
deleted file mode 100644
index 87d2c93..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/ISiteFactory.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.model.InvalidSiteTypeException;
-
-/**
- * Site factory interface.
- * A site factory is used to construct new instances of concrete
- * sites.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.BaseSiteFactory
- * @since 2.0
- */
-
-public interface ISiteFactory {
-
- /**
- * Returns a site defined by the supplied URL.
- * <p>
- * The actual interpretation of the URL is site-type specific.
- * In most cases the URL will point to some site-specific
- * file that can be used (directly or indirectly) to construct
- * the site object.
- * </p>
- * @param url URL interpreted by the site
- * @return site object
- * @exception CoreException
- * @exception InvalidSiteTypeException the referenced site type is
- * not a supported type for this factory
- * @since 2.0
- */
- public ISite createSite(URL url)
- throws CoreException, InvalidSiteTypeException;
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IURLEntry.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IURLEntry.java
deleted file mode 100644
index 6ad338e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IURLEntry.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * URL entry is an annotated URL object. It allows descriptive text to be
- * associated with a URL. When used as description object, the annotation
- * typically corresponds to short descriptive text, with the URL reference
- * pointing to full browsable description.
- * <p>
- * Clients may implement this interface. However, in most cases clients should
- * directly instantiate or subclass the provided implementation of this
- * interface.
- * </p>
- * @see org.eclipse.update.core.URLEntry
- * @since 2.0
- */
-public interface IURLEntry extends IAdaptable {
-
- /**
- * Returns the URL annotation.
- *
- * @return url annotation
- * @since 2.0
- */
- public String getAnnotation();
-
- /**
- * Returns the actual URL.
- *
- * @return url
- * @since 2.0
- */
- public URL getURL();
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IVerificationListener.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IVerificationListener.java
deleted file mode 100644
index 1f8390c..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IVerificationListener.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-/**
- * Verification listener. This interface abstract the user interaction
- * that may be required as a result of feature installation. In particular,
- * as feature archives are downloaded and verified, the user may need to
- * indicate whether to accept any one of the archives, or abort the
- * installation.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.update.core.IVerificationResult
- * @see org.eclipse.update.core.IVerifier
- * @since 2.0
- */
-
-public interface IVerificationListener {
-
- /**
- * Indicate the action that resulted in this notification should be aborted.
- *
- * @since 2.0
- */
- public static final int CHOICE_ABORT = 0;
-
- /**
- * Indicate there was an error in processing the request.
- * The action that resulted in this notification should be aborted.
- *
- * @since 2.0
- */
- public static final int CHOICE_ERROR = 1;
-
- /**
- * Indicate that the target of the verification should be accepted,
- * but the information supplied with the verification result
- * should be trusted only for this request.
- *
- * @since 2.0
- */
- public static final int CHOICE_INSTALL_TRUST_ONCE = 2;
-
- /**
- * Indicate that the target of the verification should be accepted,
- * and the information supplied with the verification result
- * should be trusted for this request, and subsequent requests.
- *
- * @since 2.0
- */
- public static final int CHOICE_INSTALL_TRUST_ALWAYS = 3;
-
- /**
- * Determine if we should continue with the current action
- * based on the indicated verification results. Typically,
- * the implementation of this method will prompt the user
- * for the appropriate answer. However, other respose
- * implementations can be provided.
- *
- * @param result verification result
- * @since 2.0
- */
- public int prompt(IVerificationResult result);
-}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IVerificationResult.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IVerificationResult.java
deleted file mode 100644
index 247d11e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IVerificationResult.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-/**
- * Verification result. An object implementing this interface represents
- * a token passed between the update framework and the verifier and verification
- * listener. The verifier uses the token to capture the result of the file
- * verification. It is then passed to the verification listener
- * to optionally present this information to the user (in an
- * implementation-specific way). The verification listener in turn
- * uses this token to capture the desired response.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see
- * @since 2.0
- */
-public interface IVerificationResult {
-
- /**
- * Indicates the file type is recognized but the file is not signed
- *
- * @see #TYPE_ENTRY_UNRECOGNIZED
- * @since 2.0
- */
- public static final int TYPE_ENTRY_NOT_SIGNED = 1;
-
- /**
- * Indicates the file has been modified since it was signed
- *
- * @since 2.0
- */
- public static final int TYPE_ENTRY_CORRUPTED = 2;
-
- /**
- * Indicates the file is signed by a known signer
- *
- * @since 2.0
- */
- public static final int TYPE_ENTRY_SIGNED_RECOGNIZED = 3;
-
- /**
- * Indicates the file being verified resulted in a verification
- * condition that was already accepted for some other file
- * verified by the verifier instance. Specifically, this applies
- * to the following conditions:
- * <ul>
- * <li>unrecognized file type, @see #TYPE_ENTRY_UNRECOGNIZED
- * <li>unsigned file, @see #TYPE_ENTRY_NOT_SIGNED
- * <li>recognized signer, @see #TYPE_ENTRY_SIGNED_RECOGNIZED
- * <li>previously accepted but unrecognized signer,
- * @see #TYPE_ENTRY_SIGNED_UNRECOGNIZED
- * </ul>
- *
- * @since 2.0
- */
- public static final int TYPE_ENTRY_ALREADY_ACCEPTED = 4;
-
- /**
- * Indicates the file is signed but the signer is not known
- *
- * @since 2.0
- */
- public static final int TYPE_ENTRY_SIGNED_UNRECOGNIZED = 5;
-
- /**
- * Error occurred during verification
- *
- * @since 2.0
- */
- public static final int UNKNOWN_ERROR = 6;
-
- /**
- * Verification was cancelled
- *
- * @since 2.0
- */
- public static final int VERIFICATION_CANCELLED = 7;
-
- /**
- * Could not perform verification due to unrecognized file
- *
- * @see #TYPE_ENTRY_NOT_SIGNED
- * @since 2.0
- */
- public static final int TYPE_ENTRY_UNRECOGNIZED = 8;
-
- /**
- * Returns the content reference that is the target of the verification.
- *
- * @return content reference
- * @since 2.0
- */
- public ContentReference getContentReference();
-
- /**
- * Returns the feature the referenced file is part of.
- *
- * @return feature
- * @since 2.0
- */
- public IFeature getFeature();
-
- /**
- * Returns the verification code.
- *
- * @return verification code, as defined in this interface.
- * @since 2.0
- */
- public int getVerificationCode();
-
- /**
- * Returns any exception caught during verification
- *
- * @return exception, or <code>null</code>.
- * @since 2.0
- */
- public Exception getVerificationException();
-
- /**
- * Returns display text describing the result of the verification.
- *
- * @return result text, or <code>null</code>.
- * @since 2.0
- */
- public String getText();
-
- /**
- * Returns text describing the signer
- *
- * @return signer information, or <code>null</code>.
- * @since 2.0
- */
- public String getSignerInfo();
-
- /**
- * Returns text describing the authority that verified/ certified
- * the signer
- *
- * @return verifier information, or <code>null</code>.
- * @since 2.0
- */
- public String getVerifierInfo();
-
- /**
- * Indicates whether the referenced file is part of the overall feature
- * definition, or one of its component plug-in or non-plug-in entries.
- *
- * @return <code>true</code> if reference is a feature file,
- * <code>false</code> if reference is a plug-in or non-plug-in file
- * @since 2.0
- */
- public boolean isFeatureVerification();
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/IVerifier.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/IVerifier.java
deleted file mode 100644
index dc1450f..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/IVerifier.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Verifier. This interface abstracts the archive verification step
- * performed by specific feature implementations. The actual details
- * of the verification are the responsibility of the concrete implementation.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.update.core.IVerificationResult
- * @see org.eclipse.update.core.IFeatureContentProvider#getVerifier()
- * @since 2.0
- */
-public interface IVerifier {
-
- /**
- * Perform verification of the specified archive.
- *
- * @param feature feature containing this archive
- * @param reference actual archive reference
- * @param isFeatureVerification <code>true</code> indicates the specified
- * reference should be considered as part of the feature description
- * information (ie. verifying the overall feature),
- * <code>false</code> indicates the specified reference is a plug-in
- * or a non-plug-in archive file (ie. verifying a component of the
- * feature)
- * @param monitor progress monitor, can be <code>null</code>
- * @return verification result
- * @exception CoreException
- * @since 2.0
- */
- public IVerificationResult verify(
- IFeature feature,
- ContentReference reference,
- boolean isFeatureVerification,
- InstallMonitor monitor)
- throws CoreException;
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/Import.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/Import.java
deleted file mode 100644
index 9efa768..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/Import.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.update.core.model.ImportModel;
-
-/**
- * Convenience implementation of a plug-in dependency.
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.IImport
- * @see org.eclipse.update.core.model.ImportModel
- * @since 2.0
- */
-public class Import extends ImportModel implements IImport {
-
- private static Map table;
-
- static {
- table = new HashMap();
- table.put("compatible", new Integer(IImport.RULE_COMPATIBLE)); //$NON-NLS-1$
- table.put("perfect", new Integer(IImport.RULE_PERFECT)); //$NON-NLS-1$
- table.put("equivalent", new Integer(IImport.RULE_EQUIVALENT)); //$NON-NLS-1$
- table.put("greaterOrHigher", new Integer(IImport.RULE_GRATER_OR_EQUAL));
- //$NON-NLS-1$
- }
-
- /**
- * Returns an identifier of the dependent plug-in.
- * @see IImport#getIdentifier()
- */
- public VersionedIdentifier getVersionedIdentifier() {
- return new VersionedIdentifier(getPluginIdentifier(), getPluginVersion());
- }
-
- /**
- * Returns the matching rule for the dependency.
- * @see IImport#getRule()
- */
- public int getRule() {
- return ((Integer) table.get(getMatchingRuleName())).intValue();
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/InstallHandlerEntry.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/InstallHandlerEntry.java
deleted file mode 100644
index 72b4f80..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/InstallHandlerEntry.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.update.core.model.InstallHandlerEntryModel;
-
-/**
- * Convenience implementation of an install handler entry.
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.IInstallHandlerEntry
- * @see org.eclipse.update.core.model.InstallHandlerEntryModel
- * @see org.eclipse.update.core.IInstallHandler
- * @since 2.0
- */
-public class InstallHandlerEntry
- extends InstallHandlerEntryModel
- implements IInstallHandlerEntry {
-
- /**
- * Constructor for InstallHandlerEntry.
- * @since 2.0
- */
- public InstallHandlerEntry() {
- super();
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/InstallMonitor.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/InstallMonitor.java
deleted file mode 100644
index 1fa11e6..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/InstallMonitor.java
+++ /dev/null
@@ -1,248 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.util.Stack;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.update.internal.core.Policy;
-
-/**
- * Install progress monitor
- * Delegating wrapper for IProgressMonitor used for installation handling.
- *
- * @since 2.0
- */
-public class InstallMonitor implements IProgressMonitor {
-
- private IProgressMonitor monitor;
- private Stack tasks;
-
- private String taskString;
- private String subTaskString;
- private boolean showDetails;
- private long totalCopyCount;
-
- private class MonitorState {
-
- private String taskString;
- private String subTaskString;
- private boolean showDetails;
- private long totalCopyCount;
-
- private MonitorState(
- String taskString,
- String subTaskString,
- boolean showDetails,
- long totalCopyCount) {
- this.taskString = taskString;
- this.subTaskString = subTaskString;
- this.showDetails = showDetails;
- this.totalCopyCount = totalCopyCount;
- }
-
- private String getTaskString() {
- return this.taskString;
- }
-
- private String getSubTaskString() {
- return this.subTaskString;
- }
-
- private boolean getShowDetails() {
- return this.showDetails;
- }
-
- private long getTotalCopyCount() {
- return this.totalCopyCount;
- }
- }
-
- private InstallMonitor() {
- }
-
- /**
- * Install monitor constructor
- *
- * @param monitor base install monitor
- * @since 2.0
- */
- public InstallMonitor(IProgressMonitor monitor) {
- this.monitor = monitor;
- this.tasks = new Stack();
- this.taskString = ""; //$NON-NLS-1$
- this.subTaskString = ""; //$NON-NLS-1$
- this.showDetails = false;
- this.totalCopyCount = 0;
- }
-
- /**
- * Begin new monitor task.
- *
- * @see IProgressMonitor#beginTask(String, int)
- * @since 2.0
- */
- public void beginTask(String name, int totalWork) {
- taskString = name;
- monitor.beginTask(name, totalWork);
- }
-
- /**
- * Indicate completion of monitor activity.
- *
- * @see IProgressMonitor#done()
- * @since 2.0
- */
- public void done() {
- monitor.done();
- }
-
- /**
- * Indicate monitor progress.
- *
- * @see IProgressMonitor#internalWorked(double)
- * @since 2.0
- */
- public void internalWorked(double work) {
- monitor.internalWorked(work);
- }
-
- /**
- * Check is use indicated that the operation be cancelled.
- *
- * @see IProgressMonitor#isCanceled()
- * @since 2.0
- */
- public boolean isCanceled() {
- return monitor.isCanceled();
- }
-
- /**
- * Set the cancellation state.
- *
- * @see IProgressMonitor#setCanceled(boolean)
- * @since 2.0
- */
- public void setCanceled(boolean value) {
- monitor.setCanceled(value);
- }
-
- /**
- * Set task name.
- *
- * @see IProgressMonitor#setTaskName(String)
- * @since 2.0
- */
- public void setTaskName(String name) {
- this.taskString = name;
- this.subTaskString = ""; //$NON-NLS-1$
- this.showDetails = false;
- this.totalCopyCount = 0;
- monitor.subTask(""); //$NON-NLS-1$
- monitor.setTaskName(name);
- }
-
- /**
- * Set subtask name.
- *
- * @see IProgressMonitor#subTask(String)
- * @since 2.0
- */
- public void subTask(String name) {
- this.subTaskString = name;
- this.showDetails = false;
- this.totalCopyCount = 0;
- monitor.subTask(name);
- }
-
- /**
- * Indicate monitor progress.
- *
- * @see IProgressMonitor#worked(int)
- * @since 2.0
- */
- public void worked(int work) {
- monitor.worked(work);
- }
-
- /**
- * Save the current monitor state.
- * The states are saved on a push-down stack. Prior states
- * can be restored by calling restorState()
- *
- * @see #restoreState()
- * @since 2.0
- */
- public void saveState() {
- tasks.push(
- new MonitorState(taskString, subTaskString, showDetails, totalCopyCount));
- }
-
- /**
- * Restore the monitor state.
- *
- * @see #saveState()
- * @since 2.0
- */
- public void restoreState() {
- if (tasks.size() > 0) {
- MonitorState state = (MonitorState) tasks.pop();
- setTaskName(state.getTaskString());
- subTask(state.getSubTaskString());
- this.showDetails = state.getShowDetails();
- this.totalCopyCount = state.getTotalCopyCount();
- }
- }
-
- /**
- * Indicate whether the monitor subtask message should include
- * copy progress counts.
- *
- * @see #setCopyCount(long)
- * @see #setTotalCount(long)
- * @param setting <code>true</code> to show the copy count,
- * <code>false</code> otherwise
- * @since 2.0
- */
- public void showCopyDetails(boolean setting) {
- this.showDetails = setting;
- }
-
- /**
- * Sets the total number of bytes to copy.
- *
- * @see #showCopyDetails(boolean)
- * @see #setCopyCount(long)
- * @param count total number of bytes to copy.
- * @since 2.0
- */
- public void setTotalCount(long count) {
- this.totalCopyCount = count;
- }
-
- /**
- * Sets the number of bytes already copied.
- *
- * @see #showCopyDetails(boolean)
- * @see #setTotalCount(long)
- * @param count number of bytes already copied.
- * @since 2.0
- */
- public void setCopyCount(long count) {
- if (showDetails && count > 0) {
- long countK = count / 1024;
- long totalK = totalCopyCount / 1024;
- String msg =
- (totalK <= 0)
- ? Policy.bind("InstallMonitor.DownloadSize", Long.toString(countK))
- : Policy.bind(
- "InstallMonitor.DownloadSizeLong",
- Long.toString(countK),
- Long.toString(totalK));
- //$NON-NLS-1$ //$NON-NLS-2$
- monitor.subTask(subTaskString + msg);
- }
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/JarContentReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/JarContentReference.java
deleted file mode 100644
index ff17266..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/JarContentReference.java
+++ /dev/null
@@ -1,317 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-
-import org.eclipse.update.internal.core.Policy;
-
-/**
- * Local .jar file content reference
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.ContentReference
- * @see org.eclipse.update.core.JarEntryContentReference
- * @since 2.0
- */
-
-public class JarContentReference extends ContentReference {
-
- private JarFile jarFile;
-
- /**
- * Content selector used in .jar operations.
- * Default implementation causes all file entries to be selected with
- * generated identifiers being the same as the original .jar entry name.
- *
- * @since 2.0
- */
- public static class ContentSelector {
-
- /**
- * Indicates whether the .jar entry should be selected.
- * Default behavior is to select all non-directory entries.
- *
- * @param entry .jar entry
- * @return <code>true</code> if entry is to be selected,
- * <code>false</code> otherwise
- * @since 2.0
- */
- public boolean include(JarEntry entry) {
- return entry == null ? false : !entry.isDirectory();
- }
-
- /**
- * Defines the "symbolic" path identifier for the
- * entry. Default identifier is the same as the jar entry name.
- *
- * @param entry .jar entry
- * @return "symbolic" path identifier
- * @since 2.0
- */
- public String defineIdentifier(JarEntry entry) {
- return entry == null ? null : entry.getName();
- }
- }
-
- /**
- * Create jar content reference from URL.
- *
- * @param id "symbolic" path identifier
- * @param url actual referenced URL
- * @since 2.0
- */
- public JarContentReference(String id, URL url) {
- super(id, url);
- this.jarFile = null;
- }
-
- /**
- * Create jar content reference from file.
- *
- * @param id "symbolic" path identifier
- * @param file actual referenced file
- * @since 2.0
- */
- public JarContentReference(String id, File file) {
- super(id, file);
- this.jarFile = null;
- }
-
- /**
- * A factory method to create a jar content reference.
- *
- * @param id "symbolic" path identifier
- * @param file actual referenced file
- * @return jar content reference
- * @since 2.0
- */
- public ContentReference createContentReference(String id, File file) {
- return new JarContentReference(id, file);
- }
-
- /**
- * Returns the content reference as a jar file. Note, that this method
- * <b>does not</b> cause the file to be downloaded if it
- * is not already local.
- *
- * @return reference as jar file
- * @exception IOException reference cannot be returned as jar file
- * @since 2.0
- */
- protected JarFile asJarFile() throws IOException {
- if (this.jarFile == null)
- this.jarFile = new JarFile(asFile());
- return jarFile;
- }
-
- /**
- * Unpacks the referenced jar archive into the specified location.
- * Returns content references to the unpacked files.
- *
- * @param dir location to unpack the jar into
- * @param selector selector, used to select entries to unpack, and to define
- * "symbolic" path identifiers for the entries.
- * @param monitor progress monitor
- * @exception IOException
- * @since 2.0
- */
- public ContentReference[] unpack(
- File dir,
- ContentSelector selector,
- InstallMonitor monitor)
- throws IOException {
-
- // make sure we have a selector
- if (selector == null)
- selector = new ContentSelector();
-
- // get archive content
- JarFile jarArchive = this.asJarFile();
- List content = new ArrayList();
- Enumeration entries = jarArchive.entries();
-
- // run through the entries and unjar
- String entryId;
- JarEntry entry;
- InputStream is;
- OutputStream os;
- File localFile;
- try {
- if (monitor != null) {
- monitor.saveState();
- monitor.setTaskName(Policy.bind("JarContentReference.Unpacking"));
- //$NON-NLS-1$
- monitor.subTask(this.getIdentifier());
- monitor.showCopyDetails(false);
- }
- while (entries.hasMoreElements()) {
- entry = (JarEntry) entries.nextElement();
- if (entry != null && selector.include(entry)) {
- is = null;
- os = null;
- entryId = selector.defineIdentifier(entry);
- localFile = Utilities.createLocalFile(dir, null /*key*/
- , entryId); // create temp file w/o a key map
- if (!entry.isDirectory()) {
- try {
- is = jarArchive.getInputStream(entry);
- os = new FileOutputStream(localFile);
- Utilities.copy(is, os, monitor);
- } finally {
- if (is != null)
- try {
- is.close();
- } catch (IOException e) {
- }
- if (os != null)
- try {
- os.close();
- } catch (IOException e) {
- }
- }
- content.add(new ContentReference(entryId, localFile));
- }
- }
- }
- } finally {
- if (monitor != null)
- monitor.restoreState();
- }
- return (ContentReference[]) content.toArray(new ContentReference[0]);
- }
-
- /**
- * Unpacks the named jar entry into the specified location.
- * Returns content reference to the unpacked file.
- *
- * @param dir location to unpack the jar into
- * @param entryName name of the jar entry
- * @param selector selector, used to define "symbolic" path identifier
- * for the entry
- * @param monitor progress monitor
- * @exception IOException
- * @since 2.0
- */
- public ContentReference unpack(
- File dir,
- String entryName,
- ContentSelector selector,
- InstallMonitor monitor)
- throws IOException {
-
- // make sure we have a selector
- if (selector == null)
- selector = new ContentSelector();
-
- // unjar the entry
- JarFile jarArchive = this.asJarFile();
- entryName = entryName.replace(File.separatorChar, '/');
- JarEntry entry = jarArchive.getJarEntry(entryName);
- String entryId;
- if (entry != null) {
- InputStream is = null;
- OutputStream os = null;
- entryId = selector.defineIdentifier(entry);
- File localFile = Utilities.createLocalFile(dir, null /*key*/
- , entryId); // create temp file w/o a key map
- if (!entry.isDirectory()) {
- try {
- is = jarArchive.getInputStream(entry);
- os = new FileOutputStream(localFile);
- Utilities.copy(is, os, monitor);
- } finally {
- if (is != null)
- try {
- is.close();
- } catch (IOException e) {
- }
- if (os != null)
- try {
- os.close();
- } catch (IOException e) {
- }
- }
- return new ContentReference(entryId, localFile);
- } else
- return null; // entry was a directory
- } else
- throw new FileNotFoundException(
- this.asFile().getAbsolutePath() + " " + entryName);
- //$NON-NLS-1$
- }
-
- /**
- * Peeks into the referenced jar archive.
- * Returns content references to the jar entries within the jar file.
- *
- * @param selector selector, used to select entries to return, and to define
- * "symbolic" path identifiers for the entries.
- * @param monitor progress monitor
- * @exception IOException
- * @since 2.0
- */
- public ContentReference[] peek(
- ContentSelector selector,
- InstallMonitor monitor)
- throws IOException {
-
- // make sure we have a selector
- if (selector == null)
- selector = new ContentSelector();
-
- // get archive content
- JarFile jarArchive = this.asJarFile();
- List content = new ArrayList();
- Enumeration entries = jarArchive.entries();
-
- // run through the entries and create content references
- JarEntry entry;
- String entryId;
- while (entries.hasMoreElements()) {
- entry = (JarEntry) entries.nextElement();
- if (selector.include(entry)) {
- entryId = selector.defineIdentifier(entry);
- content.add(new JarEntryContentReference(entryId, this, entry));
- }
- }
- return (ContentReference[]) content.toArray(new ContentReference[0]);
- }
- /**
- * Peeks into the referenced jar archive looking for the named entry.
- * Returns content reference to the jar entry within the jar file.
- *
- * @param entryName name of the jar entry
- * @param selector selector, used to define "symbolic" path identifier
- * for the entry
- * @param monitor progress monitor
- * @exception IOException
- * @since 2.0
- */
- public ContentReference peek(
- String entryName,
- ContentSelector selector,
- InstallMonitor monitor)
- throws IOException {
-
- // make sure we have a selector
- if (selector == null)
- selector = new ContentSelector();
-
- // assume we have a reference that represents a jar archive.
- JarFile jarArchive = this.asJarFile();
- entryName = entryName.replace(File.separatorChar, '/');
- JarEntry entry = jarArchive.getJarEntry(entryName);
- String entryId = selector.defineIdentifier(entry);
- return new JarEntryContentReference(entryId, this, entry);
- }
-
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/JarEntryContentReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/JarEntryContentReference.java
deleted file mode 100644
index 5a6d6fe..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/JarEntryContentReference.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.*;
-import java.net.URL;
-import java.util.jar.JarEntry;
-
-/**
- * .jar file entry content reference
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.ContentReference
- * @see org.eclipse.update.core.JarContentReference
- * @since 2.0
- */
-public class JarEntryContentReference extends ContentReference {
-
- private JarContentReference jarContentReference;
- private JarEntry entry;
-
- /**
- * Create jar entry content reference
- *
- * @param id "symbolic" path identifier
- * @param jarContentReference jar file content reference
- * @param entry jar entry
- * @since 2.0
- */
- public JarEntryContentReference(
- String id,
- JarContentReference jarContentReference,
- JarEntry entry) {
- super(id, (File) null);
- this.jarContentReference = jarContentReference;
- this.entry = entry;
- }
-
- /**
- * Creates an input stream for the reference.
- *
- * @return input stream
- * @exception IOException unable to create stream
- * @since 2.0
- */
- public InputStream getInputStream() throws IOException {
- return jarContentReference.asJarFile().getInputStream(entry);
- }
-
- /**
- * Returns the size of the referenced entry.
- *
- * @return input size
- * @since 2.0
- */
- public long getInputSize() {
- return entry.getSize();
- }
-
- /**
- * Indicates whether the reference is to a an entry within a local jar.
- *
- * @return <code>true</code> if the reference is local,
- * otherwise <code>false</code>
- * @since 2.0
- */
- public boolean isLocalReference() {
- return jarContentReference.isLocalReference();
- }
-
- /**
- * Returns the content reference as a URL.
- *
- * @return reference as URL
- * @exception IOException reference cannot be returned as URL
- * @since 2.0
- */
- public URL asURL() throws IOException {
- String fileName =
- jarContentReference.asFile().getAbsolutePath().replace(File.separatorChar, '/');
- return new URL("jar:file:" + fileName + "!/" + entry.getName());
- //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * Return string representation of this reference.
- *
- * @return string representation
- * @since 2.0
- */
- public String toString() {
- URL url;
- try {
- url = asURL();
- } catch (IOException e) {
- url = null;
- }
- if (url != null)
- return url.toExternalForm();
- else
- return getClass().getName() + "@" + hashCode(); //$NON-NLS-1$
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/NonPluginEntry.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/NonPluginEntry.java
deleted file mode 100644
index 30c4731..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/NonPluginEntry.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.update.core.model.NonPluginEntryModel;
-
-/**
- * Convenience implementation of non-plug-in entry.
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.INonPluginEntry
- * @see org.eclipse.update.core.model.NonPluginEntryModel
- * @since 2.0
- */
-public class NonPluginEntry
- extends NonPluginEntryModel
- implements INonPluginEntry {
-
- /**
- * Non-plug-in entry default constructor
- */
- public NonPluginEntry() {
- super();
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/PluginEntry.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/PluginEntry.java
deleted file mode 100644
index 72924d4..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/PluginEntry.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.update.core.model.PluginEntryModel;
-
-/**
- * Convenience implementation of plug-in entry.
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.IPluginEntry
- * @see org.eclipse.update.core.model.PluginEntryModel
- * @since 2.0
- */
-public class PluginEntry extends PluginEntryModel implements IPluginEntry {
-
- /**
- * Plug-in entry default constructor
- */
- public PluginEntry() {
- super();
- }
-
- /**
- * Returns the identifier of this plugin entry
- *
- * @see IPluginEntry#getIdentifier()
- * @since 2.0
- */
- public VersionedIdentifier getVersionedIdentifier() {
- return new VersionedIdentifier(getPluginIdentifier(), getPluginVersion());
- }
-
- /**
- * Sets the identifier of this plugin entry.
- *
- * @see IPluginEntry#setVersionedIdentifier(VersionedIdentifier)
- * @since 2.0
- */
- public void setVersionedIdentifier(VersionedIdentifier identifier) {
- setPluginIdentifier(identifier.getIdentifier());
- setPluginVersion(identifier.getVersion().toString());
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/Site.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/Site.java
deleted file mode 100644
index 4f19a90..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/Site.java
+++ /dev/null
@@ -1,405 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.core.Policy;
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-
-/**
- * Convenience implementation of a site.
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.ISite
- * @see org.eclipse.update.core.model.SiteModel
- * @since 2.0
- */
-public class Site extends SiteModel implements ISite {
-
- /**
- * Default installation path for features
- *
- * @since 2.0
- */
- public static final String DEFAULT_INSTALLED_FEATURE_PATH = "install/features/";
- //$NON-NLS-1$
-
- /**
- * Default installation path for plug-ins and plug-in fragments
- *
- * @since 2.0
- */
- public static final String DEFAULT_PLUGIN_PATH = "plugins/"; //$NON-NLS-1$
-
- /**
- * Default path on a site where packaged features are located
- *
- * @since 2.0
- */
- public static final String DEFAULT_FEATURE_PATH = "features/"; //$NON-NLS-1$
-
- /**
- * Default site manifest file name
- *
- * @since 2.0
- */
- public static final String SITE_FILE = "site"; //$NON-NLS-1$
-
- /**
- * Default site manifest extension
- *
- * @since 2.0
- */
- public static final String SITE_XML = SITE_FILE + ".xml"; //$NON-NLS-1$
-
-
- private static final String PACKAGED_FEATURE_TYPE = "packaged"; //$NON-NLS-1$
- private static final String INSTALLED_FEATURE_TYPE = "installed";
- //$NON-NLS-1$
- private ISiteContentProvider siteContentProvider;
-
- /**
- * Constructor for Site
- */
- public Site() {
- super();
- }
-
- /**
- * Compares two sites for equality
- *
- * @param object site object to compare with
- * @return <code>true</code> if the two sites are equal,
- * <code>false</code> otherwise
- * @since 2.0
- */
- public boolean equals(Object obj) {
- if (!(obj instanceof ISite))
- return false;
- if (getURL() == null)
- return false;
- ISite otherSite = (ISite) obj;
-
- return getURL().equals(otherSite.getURL());
- }
-
- /**
- * Returns the site URL
- *
- * @see ISite#getURL()
- * @since 2.0
- */
- public URL getURL() {
- URL url = null;
- try {
- url = getSiteContentProvider().getURL();
- } catch (CoreException e) {
- UpdateManagerPlugin.getPlugin().getLog().log(e.getStatus());
- }
- return url;
- }
-
- /**
- * Returns the site description.
- *
- * @see ISite#getDescription()
- * @since 2.0
- */
- public IURLEntry getDescription() {
- return (IURLEntry) getDescriptionModel();
- }
-
- /**
- * Returns an array of categories defined by the site.
- *
- * @see ISite#getCategories()
- * @since 2.0
- */
- public ICategory[] getCategories() {
- CategoryModel[] result = getCategoryModels();
- if (result.length == 0)
- return new ICategory[0];
- else
- return (ICategory[]) result;
- }
-
- /**
- * Returns the named site category.
- *
- * @see ISite#getCategory(String)
- * @since 2.0
- */
- public ICategory getCategory(String key) {
- ICategory result = null;
- boolean found = false;
- int length = getCategoryModels().length;
-
- for (int i = 0; i < length; i++) {
- if (getCategoryModels()[i].getName().equals(key)) {
- result = (ICategory) getCategoryModels()[i];
- found = true;
- break;
- }
- }
-
- //DEBUG:
- if (UpdateManagerPlugin.DEBUG
- && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS
- && !found) {
- UpdateManagerPlugin.getPlugin().debug(
- Policy.bind("Site.CannotFindCategory", key, this.getURL().toExternalForm()));
- //$NON-NLS-1$ //$NON-NLS-2$
- if (getCategoryModels().length <= 0)
- UpdateManagerPlugin.getPlugin().debug(Policy.bind("Site.NoCategories"));
- //$NON-NLS-1$
- }
-
- return result;
- }
-
- /**
- * Returns an array of references to features on this site.
- *
- * @see ISite#getFeatureReferences()
- * @since 2.0
- */
- public IFeatureReference[] getFeatureReferences() {
- FeatureReferenceModel[] result = getFeatureReferenceModels();
- if (result.length == 0)
- return new IFeatureReference[0];
- else
- return (IFeatureReference[]) result;
- }
-
- /**
- * Returns a reference to the specified feature on this site.
- *
- * @see ISite#getFeatureReference(IFeature)
- * @since 2.0
- */
- public IFeatureReference getFeatureReference(IFeature feature) {
- IFeatureReference result = null;
- IFeatureReference[] references = getFeatureReferences();
- boolean found = false;
- for (int i = 0; i < references.length && !found; i++) {
- if (references[i].getURL().equals(feature.getURL())) {
- result = references[i];
- found = true;
- }
- }
- return result;
- }
-
- /**
- * Returns an array of plug-in and non-plug-in archives located
- * on this site
- *
- * @see ISite#getArchives()
- * @since 2.0
- */
- public IArchiveReference[] getArchives() {
- ArchiveReferenceModel[] result = getArchiveReferenceModels();
- if (result.length == 0)
- return new IArchiveReference[0];
- else
- return (IArchiveReference[]) result;
- }
-
- /**
- * Returns the content provider for this site.
- *
- * @see ISite#getSiteContentProvider()
- * @since 2.0
- */
- public ISiteContentProvider getSiteContentProvider() throws CoreException {
- if (siteContentProvider == null) {
- String id =
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status =
- new Status(
- IStatus.ERROR,
- id,
- IStatus.OK,
- Policy.bind("Site.NoContentProvider"),
- null);
- //$NON-NLS-1$
- throw new CoreException(status);
- }
- return siteContentProvider;
- }
-
- /**
- * Returns the default type for a packaged feature supported by this site
- *
- * @see ISite#getDefaultInstallableFeatureType()
- * @since 2.0
- */
- public String getDefaultPackagedFeatureType() {
- return DEFAULT_PACKAGED_FEATURE_TYPE;
- }
-
- /**
- * Returns an array of entries corresponding to plug-ins installed
- * on this site.
- *
- * @see IPluginContainer#getPluginEntries()
- * @since 2.0
- */
- public IPluginEntry[] getPluginEntries() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Returns the number of plug-ins installed on this site
- *
- * @see IPluginContainer#getPluginEntryCount()
- * @since 2.0
- */
- public int getPluginEntryCount() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Returns an array of entries corresponding to plug-ins that are
- * installed on this site and are referenced only by the specified
- * feature.
- *
- * @see ISite#getPluginEntriesOnlyReferencedBy(IFeature) *
- * @since 2.0
- */
- public IPluginEntry[] getPluginEntriesOnlyReferencedBy(IFeature feature)
- throws CoreException {
-
- IPluginEntry[] pluginsToRemove = new IPluginEntry[0];
- if (feature == null)
- return pluginsToRemove;
-
- // get the plugins from the feature
- IPluginEntry[] entries = feature.getPluginEntries();
- if (entries != null) {
- // get all the other plugins from all the other features
- Set allPluginID = new HashSet();
- IFeatureReference[] features = getFeatureReferences();
- if (features != null) {
- for (int indexFeatures = 0; indexFeatures < features.length; indexFeatures++) {
- IFeature featureToCompare = features[indexFeatures].getFeature();
- if (!feature.equals(featureToCompare)) {
- IPluginEntry[] pluginEntries =
- features[indexFeatures].getFeature().getPluginEntries();
- if (pluginEntries != null) {
- for (int indexEntries = 0;
- indexEntries < pluginEntries.length;
- indexEntries++) {
- allPluginID.add(pluginEntries[indexEntries].getVersionedIdentifier());
- }
- }
- }
- }
- }
-
- // create the delta with the plugins that may be still used by other configured or unconfigured feature
- List plugins = new ArrayList();
- for (int indexPlugins = 0; indexPlugins < entries.length; indexPlugins++) {
- if (!allPluginID.contains(entries[indexPlugins].getVersionedIdentifier())) {
- plugins.add(entries[indexPlugins]);
- }
- }
-
- // move List into Array
- if (!plugins.isEmpty()) {
- pluginsToRemove = new IPluginEntry[plugins.size()];
- plugins.toArray(pluginsToRemove);
- }
-
- }
-
- return pluginsToRemove;
- }
-
- /**
- * Adds a new plug-in entry to this site.
- * This implementation always throws UnsupportedOperationException
- * because this implementation does not support the install action.
- *
- * @see ISite#addPluginEntry(IPluginEntry)
- * @exception java.jang.UnsupportedOperationException
- * @since 2.0
- */
- public void addPluginEntry(IPluginEntry pluginEntry) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Get download size for the specified feature on this site.
- * This implementation always throws UnsupportedOperationException
- * because this implementation does not support the install action.
- *
- * @see ISite#getDownloadSizeFor(IFeature)
- * @exception java.jang.UnsupportedOperationException
- * @since 2.0
- */
- public long getDownloadSizeFor(IFeature feature) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Get install size for the specified feature on this site.
- * This implementation always throws UnsupportedOperationException
- * because this implementation does not support the install action.
- *
- * @see ISite#getInstallSizeFor(IFeature)
- * @exception java.jang.UnsupportedOperationException
- * @since 2.0
- */
- public long getInstallSizeFor(IFeature feature) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Install the specified feature on this site.
- * This implementation always throws UnsupportedOperationException
- * because this implementation does not support the install action.
- *
- * @see ISite#install(IFeature, IVerificationListener, IProgressMonitor)
- * @exception java.jang.UnsupportedOperationException
- * @since 2.0
- */
- public IFeatureReference install(
- IFeature sourceFeature,
- IVerificationListener verificationListener,
- IProgressMonitor progress)
- throws CoreException {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Remove (uninstall) the specified feature from this site.
- * This implementation always throws UnsupportedOperationException
- * because this implementation does not support the remove action.
- *
- * @see ISite#remove(IFeature, IProgressMonitor)
- * @exception java.jang.UnsupportedOperationException
- * @since 2.0
- */
- public void remove(IFeature feature, IProgressMonitor progress)
- throws CoreException {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Sets the site content provider.
- *
- * @see ISite#setSiteContentProvider(ISiteContentProvider)
- * @since 2.0
- */
- public void setSiteContentProvider(ISiteContentProvider siteContentProvider) {
- this.siteContentProvider = siteContentProvider;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/SiteContentProvider.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/SiteContentProvider.java
deleted file mode 100644
index 332ff7d..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/SiteContentProvider.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.internal.core.Policy;
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-
-/**
- * Base site content provider
- */
-public abstract class SiteContentProvider implements ISiteContentProvider {
-
- private URL base;
- private ISite site;
-
- /**
- * Constructor for SiteContentProvider.
- */
- public SiteContentProvider(URL url) {
- super();
- this.base = url;
- }
-
- /**
- * Returns the URL of this site
- *
- * @see ISiteContentProvider#getURL()
- * @since 2.0
- */
- public URL getURL() {
- return base;
- }
-
- /**
- * Returns a URL for the identified archive.
- *
- * @see ISiteContentProvider#getArchivesReferences(String)
- * @since 2.0
- */
- public URL getArchiveReference(String archiveID) throws CoreException {
- try {
- return new URL(getURL(), archiveID);
- } catch (MalformedURLException e) {
- String id =
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status =
- new Status(
- IStatus.ERROR,
- id,
- IStatus.OK,
- Policy.bind(
- "SiteContentProvider.ErrorCreatingURLForArchiveID",
- archiveID,
- getURL().toExternalForm()),
- e);
- //$NON-NLS-1$
- throw new CoreException(status);
- }
- }
-
- /**
- * Returns the site for this provider.
- *
- * @see ISiteContentProvider#getSite()
- * @since 2.0
- */
- public ISite getSite() {
- return site;
- }
-
- /**
- * Sets the site for this provider.
- *
- * @param site site for this provider
- * @since 2.0
- */
- public void setSite(ISite site) {
- this.site = site;
- }
-}
\ No newline at end of file
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 b9cf1d2..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/SiteManager.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.configuration.IConfiguredSite;
-import org.eclipse.update.configuration.ILocalSite;
-import org.eclipse.update.internal.core.InternalSiteManager;
-
-/**
- * Site Manager.
- * A helper class used for creating site instance.
- * Site manager is a singleton class. It cannot be instantiated;
- * all functionality is provided by static methods.
- *
- * @see org.eclipse.update.core.ISite
- * @see org.eclipse.update.configuration.ILocalSite
- * @see org.eclipse.update.configuration.IConfiguredSite
- * @since 2.0
- */
-public class SiteManager {
-
- private SiteManager() {
- }
-
- /**
- * Returns a site object for the site specified by the argument URL.
- * Typically, the URL references a site manifest file on an update
- * site. An update site acts as a source of features for installation
- * actions.
- *
- * @param siteURL site URL
- * @return site object for the url
- * @exception CoreException
- * @since 2.0
- */
- public static ISite getSite(URL siteURL) throws CoreException {
- return InternalSiteManager.getSite(siteURL);
- }
-
- /**
- * Returns the "local site". A local site is a logical collection
- * of configuration information plus one or more file system
- * installation directories, represented as intividual sites.
- * These are potential targets for installation actions.
- *
- * @return the local site
- * @exception CoreException
- * @since 2.0
- */
- public static ILocalSite getLocalSite() throws CoreException {
- return InternalSiteManager.getLocalSite();
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/URLEntry.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/URLEntry.java
deleted file mode 100644
index 2c0e883..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/URLEntry.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.update.core.model.URLEntryModel;
-import org.eclipse.update.internal.core.Policy;
-
-/**
- * Convenience implementation of an annotated URL.
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.IURLEntry
- * @see org.eclipse.update.core.model.URLEntryModel
- * @since 2.0
- */
-public class URLEntry extends URLEntryModel implements IURLEntry {
-
- /**
- * Default constructor for annotated URL
- *
- * @since 2.0
- */
- public URLEntry() {
- super();
- }
-
- /**
- * Returns a string representation of an annotated URL.
- *
- * @return annotated url as String
- * @since 2.0
- */
- public String toString() {
- String result = "IURLEntry: "; //$NON-NLS-1$
- String URLString =
- (getURL() == null) ? Policy.bind("Feature.NoURL") : getURL().toExternalForm();
- //$NON-NLS-1$
- result =
- result
- + ((getAnnotation() == null) ? URLString : getAnnotation() + " : " + URLString);
- //$NON-NLS-1$
- return result;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/Utilities.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/Utilities.java
deleted file mode 100644
index 9af592e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/Utilities.java
+++ /dev/null
@@ -1,249 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-
-/**
- * This class is a collection of utility functions that can be
- * used for install processing
- */
-public class Utilities {
-
- private static Map entryMap;
- private static Stack bufferPool;
- private static final int BUFFER_SIZE = 4096;
-
- /**
- * Returns a new working directory (in temporary space). Ensures
- * the directory exists. Any directory levels that had to be created
- * are marked for deletion on exit.
- *
- * @return working directory
- * @exception IOException
- * @since 2.0
- */
- public static synchronized File createWorkingDirectory() throws IOException {
- String tmpName = System.getProperty("java.io.tmpdir"); //$NON-NLS-1$
- // in Linux, returns '/tmp', we must add '/'
- if (!tmpName.endsWith(File.separator))
- tmpName += File.separator;
- tmpName += "eclipse"
- + File.separator
- + ".update"
- + File.separator
- + Long.toString((new Date()).getTime())
- + File.separator;
- //$NON-NLS-1$ //$NON-NLS-2$
- File tmpDir = new File(tmpName);
- verifyPath(tmpDir, false);
- if (!tmpDir.exists())
- throw new FileNotFoundException(tmpName);
- return tmpDir;
- }
-
- /**
- * Create a new working file. The file is marked for deletion on exit.
- * The file is optionally associated with a lookup key.
- *
- * @see #lookupLocalFile(String)
- * @param tmpDir directory location for new file. Any missing directory
- * levels are created (and marked for deletion on exit)
- * @param key optional lookup key, or <code>null</code>.
- * @param name optional file name, or <code>null</code>. If name is not
- * specified, a temporary name is generated.
- * @return created working file
- * @exception IOException
- * @since 2.0
- */
- public static synchronized File createLocalFile(
- File tmpDir,
- String key,
- String name)
- throws IOException {
-
- // create the local file
- File temp;
- String filePath;
- if (name != null) {
- // create file with specified name
- filePath = name.replace('/', File.separatorChar);
- if (filePath.startsWith(File.separator))
- filePath = filePath.substring(1);
- temp = new File(tmpDir, filePath);
- } else {
- // create file with temp name
- temp = File.createTempFile("eclipse", null, tmpDir); //$NON-NLS-1$
- }
- temp.deleteOnExit();
- verifyPath(temp, true);
-
- // create file association
- if (key != null) {
- if (entryMap == null)
- entryMap = new HashMap();
- entryMap.put(key, temp);
- }
-
- return temp;
- }
-
- /**
- * Returns a previously cached local file (in temporary area) matching the
- * specified key.
- *
- * @param key lookup key
- * @return cached file, or <code>null</code>.
- * @since 2.0
- */
- public static synchronized File lookupLocalFile(String key) {
- if (entryMap == null)
- return null;
- return (File) entryMap.get(key);
- }
-
- /**
- * Removes the specified key from the local file map. The file is
- * not actually deleted until VM termination.
- *
- * @param key lookup key
- * @since 2.0
- */
- public static synchronized void removeLocalFile(String key) {
- if (entryMap != null)
- entryMap.remove(key);
- }
-
- /**
- * Copies specified input stream to the output stream. Neither stream
- * is closed as part of this operation.
- *
- * @param is input stream
- * @param os output stream
- * @param monitor progress monitor
- * @exception IOException
- * @since 2.0
- */
- public static void copy(
- InputStream is,
- OutputStream os,
- InstallMonitor monitor)
- throws IOException {
- byte[] buf = getBuffer();
- try {
- long currentLen = 0;
- int len = is.read(buf);
- while (len != -1) {
- currentLen += len;
- os.write(buf, 0, len);
- if (monitor != null)
- monitor.setCopyCount(currentLen);
- len = is.read(buf);
- }
- } finally {
- freeBuffer(buf);
- }
- }
-
- /**
- * Creates a CoreException from some other exception
- *
- * @param s exception string
- * @param e actual exception being reported
- * @return a CoreException
- * @since 2.0
- */
- public static CoreException newCoreException(String s, Throwable e) {
- String id =
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- return new CoreException(new Status(IStatus.ERROR, id, 0, s, e)); //$NON-NLS-1$
- }
-
- /**
- * Creates a CoreException from two other exception
- *
- * @param s overall exception string
- * @param s1 string for first detailed exception
- * @param s2 string for second detailed exception
- * @param e1 first detailed exception
- * @param e2 second detailed exception
- * @return a CoreException with multi-status
- * @since 2.0
- */
- public static CoreException newCoreException(
- String s,
- String s1,
- String s2,
- Throwable e1,
- Throwable e2) {
- String id =
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- MultiStatus multi = new MultiStatus(id, IStatus.ERROR, s, null);
- multi.add(new Status(IStatus.ERROR, id, 0, s1, e1));
- multi.add(new Status(IStatus.ERROR, id, 0, s2, e2));
- return new CoreException(multi); //$NON-NLS-1$
- }
-
- /**
- * Logs an exception
- *
- * @param s log string
- * @param e exception to be logged
- * @since 2.0
- */
- public static void logException(String s, Throwable e) {
- String id =
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.ERROR, id, 0, s, e);
- UpdateManagerPlugin.getPlugin().getLog().log(status);
- }
-
- private static void verifyPath(File path, boolean isFile) {
- // if we are expecting a file back off 1 path element
- if (isFile) {
- if (path.getAbsolutePath().endsWith(File.separator)) {
- // make sure this is a file
- path = path.getParentFile();
- isFile = false;
- }
- }
-
- // already exists ... just return
- if (path.exists())
- return;
-
- // does not exist ... ensure parent exists
- File parent = path.getParentFile();
- verifyPath(parent, false);
-
- // ensure directories are made. Mark files or directories for deletion
- if (!isFile)
- path.mkdir();
- path.deleteOnExit();
- }
-
- private static synchronized byte[] getBuffer() {
- if (bufferPool == null) {
- return new byte[BUFFER_SIZE];
- }
-
- try {
- return (byte[]) bufferPool.pop();
- } catch (EmptyStackException e) {
- return new byte[BUFFER_SIZE];
- }
- }
-
- private static synchronized void freeBuffer(byte[] buf) {
- if (bufferPool == null)
- bufferPool = new Stack();
- bufferPool.push(buf);
- }
-
-}
\ 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 67b486a..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/Version.java
+++ /dev/null
@@ -1,282 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-/**
- * Version identifier. In its string representation,
- * it consists of up to 4 tokens separated by decimal point.
- * The first 3 tokens are positive integer numbers, the last token
- * is an uninterpreted string.
- * For example, the following are valid version identifiers
- * (as strings):
- * <ul>
- * <li><code>0.0.0</code></li>
- * <li><code>1.0.127564</code></li>
- * <li><code>3.7.2.build-127J</code></li>
- * <li><code>1.9</code> (interpreted as <code>1.9.0</code>)</li>
- * <li><code>3</code> (interpreted as <code>3.0.0</code>)</li>
- * </ul>
- * </p>
- * <p>
- * The version identifier can be decomposed into a major, minor,
- * service and qualifier components. A difference in the major
- * component is interpreted as an incompatible version change.
- * A difference in the minor (and not the major) component is
- * interpreted as a compatible version change. The service
- * level component is interpreted as a cumulative
- * and compatible service update of the minor version component.
- * The qualifier is not interpreted, other than in version
- * comparisons. The qualifiers are compared using lexicographical
- * string comparison.
- * @see java.lang.String#compareTo
- * </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 String qualifier = null;
-
- private static final String SEPARATOR = "."; //$NON-NLS-1$
-
- private Version() {
- }
-
- /**
- * Creates a 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
- * @since 2.0
- */
- public Version(int major, int minor, int service) {
- this(major, minor, service, null);
- }
-
- /**
- * Creates a version identifier from its components.
- *
- * @param major major component of the version identifier
- * @param minor minor component of the version identifier
- * @param service service update component of the version identifier
- * @param qualifier component of the version identifier. Qualifier
- * characters that are not a letter or a digit are replaced.
- * @since 2.0
- */
- public Version(int major, int minor, int service, String qualifier) {
-
- if (major < 0)
- major = 0;
- if (minor < 0)
- minor = 0;
- if (service < 0)
- service = 0;
- if (qualifier == null)
- qualifier = ""; //$NON-NLS-1$
-
- this.major = major;
- this.minor = minor;
- this.service = service;
- this.qualifier = verifyQualifier(qualifier);
- }
-
- /**
- * Creates a version identifier from the given string.
- * The string represenation consists of up to 4 tokens
- * separated by decimal point.
- * For example, the following are valid version identifiers
- * (as strings):
- * <ul>
- * <li><code>0.0.0</code></li>
- * <li><code>1.0.127564</code></li>
- * <li><code>3.7.2.build-127J</code></li>
- * <li><code>1.9</code> (interpreted as <code>1.9.0</code>)</li>
- * <li><code>3</code> (interpreted as <code>3.0.0</code>)</li>
- * </ul>
- * </p>
- *
- * @param versionId string representation of the version identifier.
- * Qualifier characters that are not a letter or a digit are replaced.
- * @since 2.0
- */
- public Version(String versionId) {
-
- // set up default values
- this.major = 0;
- this.minor = 0;
- this.service = 0;
- this.qualifier = ""; //$NON-NLS-1$
-
- // parse string value
- try {
- if (versionId == null)
- versionId = "0.0.0"; //$NON-NLS-1$
-
- String s = versionId.trim();
-
- StringTokenizer st = new StringTokenizer(s, SEPARATOR);
- Vector elements = new Vector(4);
-
- while (st.hasMoreTokens()) {
- elements.addElement(st.nextToken());
- }
-
- if (elements.size() >= 1)
- this.major = (new Integer((String) elements.elementAt(0))).intValue();
- if (elements.size() >= 2)
- this.minor = (new Integer((String) elements.elementAt(1))).intValue();
- if (elements.size() >= 3)
- this.service = (new Integer((String) elements.elementAt(2))).intValue();
- if (elements.size() >= 4)
- this.qualifier = verifyQualifier((String) elements.elementAt(3));
-
- } catch (Exception e) { // use default version 0.0.0
- }
-
- }
-
- /**
- * Compare two version identifiers for equality. Identifiers are
- * equal if all of their components are equal.
- *
- * @param object an object to compare
- * @return <code>true</code> if the objects are equal,
- * <code>false</code> otherwise
- * @since 2.0
- */
- 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
- && v.getQualifierComponent().equals(qualifier);
- }
-
- /**
- * Returns the major (incompatible) component of this
- * version identifier.
- *
- * @return the major version
- * @since 2.0
- */
- public int getMajorComponent() {
- return major;
- }
-
- /**
- * Returns the minor (compatible) component of this
- * version identifier.
- *
- * @return the minor version
- * @since 2.0
- */
- public int getMinorComponent() {
- return minor;
- }
-
- /**
- * Returns the service level component of this
- * version identifier.
- *
- * @return the service level
- * @since 2.0
- */
- public int getServiceComponent() {
- return service;
- }
-
- /**
- * Returns the qualifier component of this
- * version identifier.
- *
- * @return the qualifier
- * @since 2.0
- */
- public String getQualifierComponent() {
- return qualifier;
- }
-
- /**
- * Compares two version identifiers for order using multi-decimal
- * comparison for the first 3 components (major, minor, service)
- * and lexicographic string comparison for the qualifier component
- *
- * @see java.lang.String#compareTo
- * @param versionId the other version identifier
- * @return -1 if this version is smaller than the argument
- * version, 0 if it is equal and 1 if this version is greater than the argument
- * version.
- * @since 2.0
- */
- public int compare(Version id) {
-
- if (id == null)
- 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 compareQualifiers(qualifier, id.getQualifierComponent());
- }
-
- /**
- * 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 version identifier. The
- * individual components of the version are separated by a period
- * (M.m.s.Q). Qualifier characters other than letters and digits
- * are replaced with a substitution character.
- * @since 2.0
- */
- public String toString() {
- String s = major + SEPARATOR + minor + SEPARATOR + service;
- if (!qualifier.equals("")) //$NON-NLS-1$
- s += SEPARATOR + qualifier;
- return s;
- }
-
- private String verifyQualifier(String s) {
- char[] chars = s.trim().toCharArray();
- boolean whitespace = false;
- for (int i = 0; i < chars.length; i++) {
- if (!Character.isLetterOrDigit(chars[i])) {
- chars[i] = '-';
- whitespace = true;
- }
- }
- return whitespace ? new String(chars) : s;
- }
-
- private int compareQualifiers(String q1, String q2) {
- int result = q1.compareTo(q2);
- if (result < 0)
- return -1;
- else if (result > 0)
- return 1;
- else
- return 0;
- }
-
-}
\ No newline at end of file
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 a33630f..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/VersionedIdentifier.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.update.internal.core.Policy;
-
-/**
- * Versioned Identifier. This is a utility class combining an identification
- * string with a version.
- * <p>
- * Clients may instantiate; not intended to be subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.Version
- * @since 2.0
- */
-public class VersionedIdentifier {
- private String id;
- private Version version;
- private static final String SEPARATOR = "_"; //$NON-NLS-1$
-
- /**
- * Construct a versioned identifier by parsing its string representation
- *
- * @see #toString()
- * @param idWithVersion string representation of versioned identifier
- * @since 2.0
- */
- public VersionedIdentifier(String idWithVersion) {
-
- if (idWithVersion == null
- || (idWithVersion = idWithVersion.trim()).equals("")) { //$NON-NLS-1$
- this.id = ""; //$NON-NLS-1$
- this.version = new Version(0, 0, 0);
- }
-
- int loc = idWithVersion.lastIndexOf(SEPARATOR);
- if (loc != -1) {
- id = idWithVersion.substring(0, loc);
- String versionName = idWithVersion.substring(loc + 1);
- version = new Version(versionName);
- } else {
- this.id = ""; //$NON-NLS-1$
- version = new Version(0, 0, 0);
- }
- }
-
- /**
- * Construct a versioned identifier from an identifier and a string
- * representation of a version
- *
- * @see Version#toString()
- * @param id identifier string
- * @param versionName string representation of version
- * @since 2.0
- */
- public VersionedIdentifier(String id, String versionName) {
- if (id == null
- || (id = id.trim()).equals("")
- || versionName == null) //$NON-NLS-1$
- throw new IllegalArgumentException(
- Policy.bind("VersionedIdentifier.IdOrVersionNull", id, versionName));
- //$NON-NLS-1$
- this.id = id;
- this.version = new Version(versionName);
- }
-
- /**
- * Returns the identifier
- *
- * @return identifier
- * @since 2.0
- */
- public String getIdentifier() {
- return id;
- }
-
- /**
- * Returns the version
- *
- * @return version
- * @since 2.0
- */
- public Version getVersion() {
- return version;
- }
-
- /**
- * Returns a string representation of the versioned identifier.
- *
- * @return string representation of versioned identifier. The resulting
- * string is <id>_<version>, where <id> is the identifier and
- * <version> is the string representation of the version
- * @since 2.0
- */
- public String toString() {
- return id.equals("") ? "" : id + SEPARATOR + version.toString();
- //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * Compares two versioned identifiers for equality
- *
- * @param obj other versioned identifier to compare to
- * @return <code>true</code> if the two objects are equal,
- * <code>false</code> otherwise
- * @since 2.0
- */
- public boolean equals(Object obj) {
- if (!(obj instanceof VersionedIdentifier))
- return false;
- VersionedIdentifier vid = (VersionedIdentifier) obj;
- if (!this.id.equals(vid.id))
- return false;
- return this.version.equals(vid.version);
- }
-
- /**
- * Returns a computed hashcode for the versioned identifier.
- *
- * @return hash code
- * @since 2.0
- */
- public int hashCode() {
- return toString().hashCode();
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/WebInstallHandler.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/WebInstallHandler.java
deleted file mode 100644
index 548d9d5..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/WebInstallHandler.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.update.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-
-/**
- * This is a utility class used find information about the update
- * web application (handling web-triggered requests)
- *
- * @since 2.0
- */
-public abstract class WebInstallHandler {
-
- /**
- * Returns the host identifier for the web application server
- * listener for install requests
- *
- * @return host identifier, or <code>null</code> if web application
- * server is not available
- * @since 2.0
- */
- public static String getWebAppServerHost() {
- return UpdateManagerPlugin.getWebAppServerHost();
- }
-
- /**
- * Returns the port identifier for the web application server
- * listener for install requests
- *
- * @return port identifier, or <code>0</code> if web application
- * server is not available
- * @since 2.0
- */
- public static int getWebAppServerPort() {
- return UpdateManagerPlugin.getWebAppServerPort();
- }
-
- /**
- * Returns the callback string to be passed to the web page
- * containing install triggers.
- *
- * @return callback string
- * @since 2.0
- */
- public static String getCallbackString() {
- String url = getCallbackURLAsString();
- if (url == null)
- return null;
- else
- return "?eclipse=" + url; //$NON-NLS-1$
- }
-
- /**
- * Returns the callback URL (as string) to be passed to the web page
- * containing install triggers.
- *
- * @return callback URL as string
- * @since 2.0
- */
- public static String getCallbackURLAsString() {
- String host = getWebAppServerHost();
- int port = getWebAppServerPort();
- if (host == null || port == 0)
- return null;
- else
- return "http://" + host + ":" + port + "/install";
- //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ArchiveReferenceModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ArchiveReferenceModel.java
deleted file mode 100644
index 12014b7..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ArchiveReferenceModel.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ResourceBundle;
-
-/**
- * Site archive model object.
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead instantiate or subclass the provided
- * concrete implementation of this model.
- * </p>
- * @see org.eclipse.update.core.ArchiveReference
- * @since 2.0
- */
-public class ArchiveReferenceModel extends ModelObject {
-
- private String path;
- private String urlString;
- private URL url;
-
- /**
- * Creates a uninitialized model object.
- *
- * @since 2.0
- */
- public ArchiveReferenceModel() {
- super();
- }
-
- /**
- * Retrieve the site archive "symbolic" path
- *
- * @return path, or <code>null</code>
- * @since 2.0
- */
- public String getPath() {
- return path;
- }
-
- /**
- * Returns the unresolved URL string for the archive.
- *
- * @return url string, or <code>null</code>
- * @since 2.0
- */
- public String getURLString() {
- return urlString;
- }
-
- /**
- * Returns the resolved URL for the archive.
- *
- * @return url, or <code>null</code>
- * @since 2.0
- */
- public URL getURL() {
- return url;
- }
-
- /**
- * Sets the site archive "symbolic" path.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param path archive "symbolic" path.
- * @since 2.0
- */
- public void setPath(String path) {
- assertIsWriteable();
- this.path = path;
- }
-
- /**
- * Sets the unresolved URL string for the archive.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param urlString unresolved url string.
- * @since 2.0
- */
- public void setURLString(String urlString) {
- assertIsWriteable();
- this.urlString = urlString;
- this.url = null;
- }
-
- /**
- * Resolve the model object.
- * Any URL strings in the model are resolved relative to the
- * base URL argument. Any translatable strings in the model that are
- * specified as translation keys are localized using the supplied
- * resource bundle.
- *
- * @param base URL
- * @param bundle resource bundle
- * @exception MalformedURLException
- * @since 2.0
- */
- public void resolve(URL base, ResourceBundle bundle)
- throws MalformedURLException {
- // resolve local elements
- url = resolveURL(base, bundle, urlString);
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/CategoryModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/CategoryModel.java
deleted file mode 100644
index 236811f..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/CategoryModel.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Comparator;
-import java.util.ResourceBundle;
-
-/**
- * Feature category definition model object.
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead instantiate or subclass the provided
- * concrete implementation of this model.
- * </p>
- * @see org.eclipse.update.core.Category
- * @since 2.0
- */
-
-public class CategoryModel extends ModelObject {
-
- private String name;
- private String label;
- private String localizedLabel;
- private URLEntryModel description;
- private static Comparator comp;
-
- /**
- * Creates an uninitialized model object.
- *
- * @since 2.0
- */
- public CategoryModel() {
- super();
- }
-
- /**
- * Retrieve the name of the category.
- *
- * @return category name, or <code>null</code>.
- * @since 2.0
- */
- public String getName() {
- return name;
- }
-
- /**
- * Retrieve the displayable label for the category. If the model
- * object has been resolved, the label is localized.
- *
- * @return displayable label, or <code>null</code>.
- * @since 2.0
- */
- public String getLabel() {
- if (localizedLabel != null)
- return localizedLabel;
- else
- return label;
- }
-
- /**
- * Retrieve the non-localized displayable label for the category.
- *
- * @return non-localized displayable label, or <code>null</code>.
- * @since 2.0
- */
- public String getLabelNonLocalized() {
- return label;
- }
-
- /**
- * Retrieve the detailed category description
- *
- * @return category description, or <code>null</code>.
- * @since 2.0
- */
- public URLEntryModel getDescriptionModel() {
- return description;
- }
-
- /**
- * Sets the category displayable label.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param label displayable label, or resource key
- * @since 2.0
- */
- public void setLabel(String label) {
- assertIsWriteable();
- this.label = label;
- this.localizedLabel = null;
- }
-
- /**
- * Sets the category name.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param name category name
- * @since 2.0
- */
- public void setName(String name) {
- assertIsWriteable();
- this.name = name;
- }
-
- /**
- * Sets the category description.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param description category description
- * @since 2.0
- */
- public void setDescriptionModel(URLEntryModel description) {
- assertIsWriteable();
- this.description = description;
- }
-
- /**
- * Marks the model object as read-only.
- *
- * @since 2.0
- */
- public void markReadOnly() {
- super.markReadOnly();
- markReferenceReadOnly(getDescriptionModel());
- }
-
- /**
- * Resolve the model object.
- * Any URL strings in the model are resolved relative to the
- * base URL argument. Any translatable strings in the model that are
- * specified as translation keys are localized using the supplied
- * resource bundle.
- *
- * @param base URL
- * @param bundle resource bundle
- * @exception MalformedURLException
- * @since 2.0
- */
- public void resolve(URL base, ResourceBundle bundle)
- throws MalformedURLException {
- // resolve local elements
- localizedLabel = resolveNLString(bundle, label);
-
- // delegate to references
- resolveReference(getDescriptionModel(), base, bundle);
- }
-
- /**
- * Compare two category models for equality.
- *
- * @see Object#equals(Object)
- * @since 2.0
- */
- public boolean equals(Object obj) {
- boolean result = false;
- if (obj instanceof CategoryModel) {
- CategoryModel otherCategory = (CategoryModel) obj;
- result = getName().equalsIgnoreCase(otherCategory.getName());
- }
- return result;
- }
-
- /**
- * Compute hash code for category model.
- *
- * @see Object#hashCode()
- * @since 2.0
- */
- public int hashCode() {
- return getName().hashCode();
- }
-
- /**
- * Returns a comparator for category models.
- *
- * @return comparator
- * @since 2.0
- */
- 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) {
-
- CategoryModel cat1 = (CategoryModel) o1;
- CategoryModel cat2 = (CategoryModel) o2;
-
- if (cat1.equals(cat2))
- return 0;
- return cat1.getName().compareTo(cat2.getName());
- }
- };
- }
- return comp;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ContentEntryModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ContentEntryModel.java
deleted file mode 100644
index 94191ec..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ContentEntryModel.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-/**
- * Content entry model object.
- * This is the base class for plug-in and non-plug-in entry models.
- * <p>
- * This class must be subclassed by clients.
- * </p>
- * @see org.eclipse.update.core.model.PluginEntryModel
- * @see org.eclipse.update.core.model.NonPluginEntryModel
- * @since 2.0
- */
-public abstract class ContentEntryModel extends ModelObject {
-
- /**
- * An indication the size could not be determined
- *
- * @since 2.0
- */
- public static final long UNKNOWN_SIZE = -1;
-
- private long downloadSize = UNKNOWN_SIZE;
- private long installSize = UNKNOWN_SIZE;
- private String os;
- private String ws;
- private String nl;
- private String arch;
-
- /**
- * Creates a uninitialized content entry model object.
- *
- * @since 2.0
- */
- protected ContentEntryModel() {
- super();
- }
-
- /**
- * Returns the download size of the entry, if it can be determined.
- *
- * @return download size of the entry in KiloBytes, or an indication
- * the size could not be determined
- * @since 2.0
- */
-
- public long getDownloadSize() {
- return downloadSize;
- }
-
- /**
- * Returns the install size of the entry, if it can be determined.
- *
- * @return install size of the entry in KiloBytes, or an indication
- * the size could not be determined
- * @since 2.0
- */
- public long getInstallSize() {
- return installSize;
- }
-
- /**
- * Returns optional operating system specification.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return the operating system specification or <code>null</code>.
- * @since 2.0
- */
- public String getOS() {
- return os;
- }
-
- /**
- * Returns optional windowing system specification.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return the windowing system specification or <code>null</code>.
- * @since 2.0
- */
-
- public String getWS() {
- return ws;
- }
-
- /**
- * Returns optional system architecture specification.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return the system architecture specification or <code>null</code>.
- * @since 2.0
- */
- public String getArch() {
- return arch;
- }
-
- /**
- * Returns optional locale specification.
- *
- * @return the locale specification, or <code>null</code>.
- * @since 2.0
- */
- public String getNL() {
- return nl;
- }
-
- /**
- * Sets the download size of the entry.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param downloadSize download size of the entry in KiloBytes
- * @since 2.0
- */
- public void setDownloadSize(long downloadSize) {
- assertIsWriteable();
- if (downloadSize < 0)
- this.downloadSize = UNKNOWN_SIZE;
- else
- this.downloadSize = downloadSize;
- }
-
- /**
- * Sets the install size of the entry.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param installSize install size of the entry in KiloBytes
- * @since 2.0
- */
- public void setInstallSize(long installSize) {
- assertIsWriteable();
- if (installSize < 0)
- this.installSize = UNKNOWN_SIZE;
- else
- this.installSize = installSize;
- }
-
- /**
- * Sets the operating system specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @param os comma-separated list of OS identifiers as defined by Eclipse.
- * @since 2.0
- */
- public void setOS(String os) {
- assertIsWriteable();
- this.os = os;
- }
-
- /**
- * Sets the windowing system specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @param ws comma-separated list of WS identifiers as defined by Eclipse.
- * @since 2.0
- */
- public void setWS(String ws) {
- assertIsWriteable();
- this.ws = ws;
- }
-
- /**
- * Sets the system architecture specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @param arch comma-separated list of arch identifiers as defined by Eclipse.
- * @since 2.0
- */
- public void setArch(String arch) {
- assertIsWriteable();
- this.arch = arch;
- }
-
- /**
- * Sets the locale specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param nl comma-separated list of locale identifiers.
- * @since 2.0
- */
- public void setNL(String nl) {
- assertIsWriteable();
- this.nl = nl;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultFeatureParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultFeatureParser.java
deleted file mode 100644
index e2db2b3..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultFeatureParser.java
+++ /dev/null
@@ -1,1269 +0,0 @@
-package org.eclipse.update.core.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Stack;
-
-import org.apache.xerces.parsers.SAXParser;
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.internal.core.Policy;
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Default feature parser.
- * Parses the feature manifest file as defined by the platform. Defers
- * to a model factory to create the actual concrete model objects. The
- * update framework supplies two factory implementations:
- * <ul>
- * <li>@see org.eclipse.update.core.model.FeatureModelFactory
- * <li>@see org.eclipse.update.core.BaseFeatureFactory
- * </ul>
- *
- * @since 2.0
- */
-public class DefaultFeatureParser extends DefaultHandler {
-
- private SAXParser parser;
- private FeatureModelFactory factory;
- private MultiStatus status;
-
- private boolean URL_ALREADY_SEEN = false;
-
- private static final int STATE_IGNORED_ELEMENT = -1;
- private static final int STATE_INITIAL = 0;
- private static final int STATE_FEATURE = 1;
- private static final int STATE_HANDLER = 2;
- private static final int STATE_DESCRIPTION = 3;
- private static final int STATE_COPYRIGHT = 4;
- private static final int STATE_LICENSE = 5;
- private static final int STATE_URL = 6;
- private static final int STATE_UPDATE = 7;
- private static final int STATE_DISCOVERY = 8;
- private static final int STATE_REQUIRES = 9;
- private static final int STATE_IMPORT = 10;
- private static final int STATE_PLUGIN = 11;
- private static final int STATE_DATA = 12;
- private static final String PLUGIN_ID =
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
-
- private static final String FEATURE = "feature"; //$NON-NLS-1$
- private static final String HANDLER = "install-handler"; //$NON-NLS-1$
- private static final String DESCRIPTION = "description"; //$NON-NLS-1$
- private static final String COPYRIGHT = "copyright"; //$NON-NLS-1$
- private static final String LICENSE = "license"; //$NON-NLS-1$
- private static final String URL = "url"; //$NON-NLS-1$
- private static final String UPDATE = "update"; //$NON-NLS-1$
- private static final String DISCOVERY = "discovery"; //$NON-NLS-1$
- private static final String REQUIRES = "requires"; //$NON-NLS-1$
- private static final String IMPORT = "import"; //$NON-NLS-1$
- private static final String PLUGIN = "plugin"; //$NON-NLS-1$
- private static final String DATA = "data"; //$NON-NLS-1$
- // Current State Information
- Stack stateStack = new Stack();
-
- // Current object stack (used to hold the current object we are
- // populating in this plugin descriptor
- Stack objectStack = new Stack();
-
- private int currentState;
-
- /**
- * Constructs a feature parser.
- *
- * @param factory feature model factory
- * @since 2.0
- */
- public DefaultFeatureParser(FeatureModelFactory factory) {
- super();
- this.parser = new SAXParser();
- this.parser.setContentHandler(this);
- this.factory = factory;
- }
-
- /**
- * Parses the specified input steam and constructs a feature model.
- * The input stream is not closed as part of this operation.
- *
- * @param in input stream
- * @return feature model
- * @exception SAXException
- * @exception IOException
- * @since 2.0
- */
- public FeatureModel parse(InputStream in) throws SAXException, IOException {
- stateStack.push(new Integer(STATE_INITIAL));
- currentState = ((Integer) stateStack.peek()).intValue();
- parser.parse(new InputSource(in));
- if (objectStack.isEmpty())
- throw new SAXException(Policy.bind("DefaultFeatureParser.NoFeatureTag"));
- //$NON-NLS-1$
- else {
- if (objectStack.peek() instanceof FeatureModel) {
- return (FeatureModel) objectStack.pop();
- } else {
- String stack = ""; //$NON-NLS-1$
- Iterator iter = objectStack.iterator();
- while (iter.hasNext()) {
- stack = "\r\n" + iter.next().toString() + stack; //$NON-NLS-1$
- }
- throw new SAXException(
- Policy.bind("DefaultFeatureParser.WrongParsingStack", stack));
- //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Returns all status objects accumulated by the parser.
- *
- * @return multi-status containing accumulated status, or <code>null</code>.
- * @since 2.0
- */
- public MultiStatus getStatus() {
- if (status == null) {
- status =
- new MultiStatus(
- PLUGIN_ID,
- Platform.PARSE_PROBLEM,
- Policy.bind("DefaultFeatureParser.ErrorParsingFeature"),
- null);
- //$NON-NLS-1$
- }
- return status;
- }
-
- /**
- * Handle start of element tags
- * @see DefaultHandler#startElement(String, String, String, Attributes)
- * @since 2.0
- */
- public void startElement(
- String uri,
- String localName,
- String qName,
- Attributes attributes)
- throws SAXException {
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug(
- "Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName);
- //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- switch (currentState) {
- case STATE_IGNORED_ELEMENT :
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- localName,
- getState(currentState)));
- //$NON-NLS-1$
- break;
-
- case STATE_INITIAL :
- handleInitialState(localName, attributes);
- break;
-
- case STATE_FEATURE :
- handleFeatureState(localName, attributes);
- break;
-
- case STATE_HANDLER :
- handleHandlerState(localName, attributes);
- break;
-
- case STATE_DESCRIPTION :
- handleDescriptionState(localName, attributes);
- break;
-
- case STATE_COPYRIGHT :
- handleCopyrightState(localName, attributes);
- break;
-
- case STATE_LICENSE :
- handleLicenseState(localName, attributes);
- break;
-
- case STATE_URL :
- if (URL_ALREADY_SEEN)
- internalError(Policy.bind("DefaultFeatureParser.TooManyURLtag")); //$NON-NLS-1$
- handleURLState(localName, attributes);
- break;
-
- case STATE_UPDATE :
- handleUpdateState(localName, attributes);
- break;
-
- case STATE_DISCOVERY :
- handleDiscoveryState(localName, attributes);
- break;
-
- case STATE_REQUIRES :
- handleRequiresState(localName, attributes);
- break;
-
- case STATE_IMPORT :
- handleImportState(localName, attributes);
- break;
-
- case STATE_PLUGIN :
- handlePluginState(localName, attributes);
- break;
-
- case STATE_DATA :
- handleDataState(localName, attributes);
- break;
-
- default :
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownStartState",
- Integer.toString(currentState)));
- //$NON-NLS-1$
- break;
- }
-
- int newState = ((Integer) stateStack.peek()).intValue();
- if (newState != STATE_IGNORED_ELEMENT)
- currentState = newState;
-
- }
-
- /**
- * Handle end of element tags
- * @see DefaultHandler#endElement(String, String, String)
- * @since 2.0
- */
- public void endElement(String uri, String localName, String qName) {
-
- // variables used
- URLEntryModel info = null;
- FeatureModel featureModel = null;
- String text = null;
- int innerState = 0;
-
- int state = ((Integer) stateStack.peek()).intValue();
- switch (state) {
- case STATE_IGNORED_ELEMENT :
- stateStack.pop();
- break;
-
- case STATE_INITIAL :
- internalError(
- Policy.bind("DefaultFeatureParser.ParsingStackBackToInitialState"));
- //$NON-NLS-1$
- break;
-
- case STATE_FEATURE :
- stateStack.pop();
- if (objectStack.peek() instanceof String) {
- text = (String) objectStack.pop();
- FeatureModel feature = (FeatureModel) objectStack.peek();
- feature.getDescriptionModel().setAnnotation(text);
- }
- //do not pop
- break;
-
- case STATE_HANDLER :
- stateStack.pop();
- if (objectStack.peek() instanceof InstallHandlerEntryModel) {
- InstallHandlerEntryModel handlerModel =
- (InstallHandlerEntryModel) objectStack.pop();
- featureModel = (FeatureModel) objectStack.peek();
- if (featureModel.getInstallHandlerModel() != null)
- internalError(
- Policy.bind("DefaultFeatureParser.ElementAlreadySet", getState(state)));
- //$NON-NLS-1$
- //$NON-NLS-1$
- else
- featureModel.setInstallHandlerModel(handlerModel);
- }
- break;
- case STATE_DESCRIPTION :
- stateStack.pop();
-
- text = ""; //$NON-NLS-1$
- while (objectStack.peek() instanceof String) {
- text = (String) objectStack.pop() + text;
- }
- if (objectStack.peek() instanceof URLEntryModel) {
- info = (URLEntryModel) objectStack.pop();
- if (text != null)
- info.setAnnotation(text);
-
- innerState = ((Integer) stateStack.peek()).intValue();
- switch (innerState) {
- case STATE_FEATURE :
- if (objectStack.peek() instanceof FeatureModel) {
- featureModel = (FeatureModel) objectStack.peek();
- if (featureModel.getDescriptionModel() != null)
- internalError(
- Policy.bind("DefaultFeatureParser.ElementAlreadySet", getState(state)));
- //$NON-NLS-1$
- else
- featureModel.setDescriptionModel(info);
- }
- break;
-
- default :
- internalError(
- Policy.bind(
- "DefaultFeatureParser.StateIncludeWrongElement",
- getState(innerState),
- getState(state)));
- //$NON-NLS-1$
- //$NON-NLS-1$
- break;
-
- }
- }
- break;
-
- case STATE_COPYRIGHT :
- stateStack.pop();
- text = ""; //$NON-NLS-1$
- while (objectStack.peek() instanceof String) {
- text = (String) objectStack.pop() + text;
- }
- if (objectStack.peek() instanceof URLEntryModel) {
- info = (URLEntryModel) objectStack.pop();
- if (text != null) {
- info.setAnnotation(text);
- }
-
- innerState = ((Integer) stateStack.peek()).intValue();
- switch (innerState) {
- case STATE_FEATURE :
- if (objectStack.peek() instanceof FeatureModel) {
- featureModel = (FeatureModel) objectStack.peek();
- if (featureModel.getCopyrightModel() != null)
- internalError(
- Policy.bind("DefaultFeatureParser.ElementAlreadySet", getState(state)));
- //$NON-NLS-1$
- else
- featureModel.setCopyrightModel(info);
- }
- break;
-
- default :
- internalError(
- Policy.bind(
- "DefaultFeatureParser.StateIncludeWrongElement",
- getState(innerState),
- getState(state)));
- //$NON-NLS-1$
- break;
-
- }
- }
- break;
-
- case STATE_LICENSE :
- stateStack.pop();
-
- text = ""; //$NON-NLS-1$
- while (objectStack.peek() instanceof String) {
- text = (String) objectStack.pop() + text;
- }
- if (objectStack.peek() instanceof URLEntryModel) {
- info = (URLEntryModel) objectStack.pop();
- if (text != null) {
- info.setAnnotation(text);
- }
-
- innerState = ((Integer) stateStack.peek()).intValue();
- switch (innerState) {
- case STATE_FEATURE :
- if (objectStack.peek() instanceof FeatureModel) {
- featureModel = (FeatureModel) objectStack.peek();
- if (featureModel.getLicenseModel() != null)
- internalError(
- Policy.bind("DefaultFeatureParser.ElementAlreadySet", getState(state)));
- //$NON-NLS-1$
- else
- featureModel.setLicenseModel(info);
- }
- break;
-
- default :
- internalError(
- Policy.bind(
- "DefaultFeatureParser.StateIncludeWrongElement",
- getState(innerState),
- getState(state)));
- //$NON-NLS-1$
- break;
-
- }
- }
- break;
-
- case STATE_URL :
- stateStack.pop();
- URL_ALREADY_SEEN = true;
- break;
-
- case STATE_UPDATE :
- stateStack.pop();
- if (objectStack.peek() instanceof URLEntryModel) {
- info = (URLEntryModel) objectStack.pop();
- if (objectStack.peek() instanceof FeatureModel) {
- featureModel = (FeatureModel) objectStack.peek();
- if (featureModel.getUpdateSiteEntryModel() != null) {
- internalError(
- Policy.bind("DefaultFeatureParser.ElementAlreadySet", getState(state)));
- //$NON-NLS-1$
- } else {
- featureModel.setUpdateSiteEntryModel(info);
- }
- }
- }
- break;
-
- case STATE_DISCOVERY :
- stateStack.pop();
- if (objectStack.peek() instanceof URLEntryModel) {
- info = (URLEntryModel) objectStack.pop();
- if (objectStack.peek() instanceof FeatureModel) {
- featureModel = (FeatureModel) objectStack.peek();
- featureModel.addDiscoverySiteEntryModel(info);
- }
- }
- break;
-
- case STATE_REQUIRES :
- stateStack.pop();
- if (objectStack.peek() instanceof FeatureModel) {
- featureModel = (FeatureModel) objectStack.peek();
- if (featureModel.getImportModels().length == 0) {
- internalError(
- Policy.bind("DefaultFeatureParser.RequireStateWithoutImportElement"));
- //$NON-NLS-1$
- //$NON-NLS-1$
- }
- }
- break;
-
- case STATE_IMPORT :
- stateStack.pop();
- if (objectStack.peek() instanceof ImportModel) {
- ImportModel importModel = (ImportModel) objectStack.pop();
- if (objectStack.peek() instanceof FeatureModel) {
- featureModel = (FeatureModel) objectStack.peek();
- featureModel.addImportModel(importModel);
- }
- }
- break;
-
- case STATE_PLUGIN :
- stateStack.pop();
- if (objectStack.peek() instanceof PluginEntryModel) {
- PluginEntryModel pluginEntry = (PluginEntryModel) objectStack.pop();
- if (objectStack.peek() instanceof FeatureModel) {
- featureModel = (FeatureModel) objectStack.peek();
- featureModel.addPluginEntryModel(pluginEntry);
- }
- }
- break;
-
- case STATE_DATA :
- stateStack.pop();
- if (objectStack.peek() instanceof NonPluginEntryModel) {
- NonPluginEntryModel nonPluginEntry = (NonPluginEntryModel) objectStack.pop();
- if (objectStack.peek() instanceof FeatureModel) {
- featureModel = (FeatureModel) objectStack.peek();
- featureModel.addNonPluginEntryModel(nonPluginEntry);
- }
- }
- break;
-
- default :
- internalErrorUnknownTag(
- Policy.bind("DefaultFeatureParser.UnknownEndState") + state);
- //$NON-NLS-1$
- //$NON-NLS-1$
- break;
-
- }
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("End Element:" + uri + ":" + localName + ":" + qName);
- //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- /**
- * Handle character text
- * @see DefaultHandler#characters(char[], int, int)
- * @since 2.0
- */
- public void characters(char[] ch, int start, int length) {
-
- String text = "";
-
- // remove any \t \r\n and space
- boolean valid = false;
- for (int i = 0; i < ch.length; i++) {
- if (!Character.isWhitespace(ch[i])) {
- valid = true;
- break;
- }
- }
-
- if (valid) {
- text = new String(ch, start, length).trim();
- }
-
- //only push if not unknown state
- int state = ((Integer) stateStack.peek()).intValue();
- if (state == STATE_DESCRIPTION
- || state == STATE_COPYRIGHT
- || state == STATE_LICENSE)
- objectStack.push(text);
-
- }
-
- /**
- * Handle errors
- * @see DefaultHandler#error(SAXParseException)
- * @since 2.0
- */
- public void error(SAXParseException ex) {
- logStatus(ex);
- }
-
- /**
- * Handle fatal errors
- * @see DefaultHandler#fatalError(SAXParseException)
- * @exception SAXException
- * @since 2.0
- */
- public void fatalError(SAXParseException ex) throws SAXException {
- logStatus(ex);
- throw ex;
- }
-
- private void handleInitialState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(FEATURE)) {
- stateStack.push(new Integer(STATE_FEATURE));
- processFeature(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleFeatureState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(HANDLER)) {
- stateStack.push(new Integer(STATE_HANDLER));
- processHandler(attributes);
- } else if (elementName.equals(DESCRIPTION)) {
- stateStack.push(new Integer(STATE_DESCRIPTION));
- processInfo(attributes);
- } else if (elementName.equals(COPYRIGHT)) {
- stateStack.push(new Integer(STATE_COPYRIGHT));
- processInfo(attributes);
- } else if (elementName.equals(LICENSE)) {
- stateStack.push(new Integer(STATE_LICENSE));
- processInfo(attributes);
- } else if (elementName.equals(URL)) {
- stateStack.push(new Integer(STATE_URL));
- //No process as URL tag does not contain any element itself
- } else if (elementName.equals(REQUIRES)) {
- stateStack.push(new Integer(STATE_REQUIRES));
- processRequire(attributes);
- } else if (elementName.equals(PLUGIN)) {
- stateStack.push(new Integer(STATE_PLUGIN));
- processPlugin(attributes);
- } else if (elementName.equals(DATA)) {
- stateStack.push(new Integer(STATE_DATA));
- processData(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleHandlerState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(DESCRIPTION)) {
- stateStack.push(new Integer(STATE_DESCRIPTION));
- processInfo(attributes);
- } else if (elementName.equals(COPYRIGHT)) {
- stateStack.push(new Integer(STATE_COPYRIGHT));
- processInfo(attributes);
- } else if (elementName.equals(LICENSE)) {
- stateStack.push(new Integer(STATE_LICENSE));
- processInfo(attributes);
- } else if (elementName.equals(URL)) {
- stateStack.push(new Integer(STATE_URL));
- //No process as URL tag does not contain any element itself
- } else if (elementName.equals(REQUIRES)) {
- stateStack.push(new Integer(STATE_REQUIRES));
- processRequire(attributes);
- } else if (elementName.equals(PLUGIN)) {
- stateStack.push(new Integer(STATE_PLUGIN));
- processPlugin(attributes);
- } else if (elementName.equals(DATA)) {
- stateStack.push(new Integer(STATE_DATA));
- processData(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleCopyrightState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(LICENSE)) {
- stateStack.push(new Integer(STATE_LICENSE));
- processInfo(attributes);
- } else if (elementName.equals(URL)) {
- stateStack.push(new Integer(STATE_URL));
- //No process as URL tag does not contain any element itself
- } else if (elementName.equals(REQUIRES)) {
- stateStack.push(new Integer(STATE_REQUIRES));
- processRequire(attributes);
- } else if (elementName.equals(PLUGIN)) {
- stateStack.push(new Integer(STATE_PLUGIN));
- processPlugin(attributes);
- } else if (elementName.equals(DATA)) {
- stateStack.push(new Integer(STATE_DATA));
- processData(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleLicenseState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(URL)) {
- stateStack.push(new Integer(STATE_URL));
- //No process as URL tag does not contain any element itself
- } else if (elementName.equals(REQUIRES)) {
- stateStack.push(new Integer(STATE_REQUIRES));
- processRequire(attributes);
- } else if (elementName.equals(PLUGIN)) {
- stateStack.push(new Integer(STATE_PLUGIN));
- processPlugin(attributes);
- } else if (elementName.equals(DATA)) {
- stateStack.push(new Integer(STATE_DATA));
- processData(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleDescriptionState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(COPYRIGHT)) {
- stateStack.push(new Integer(STATE_COPYRIGHT));
- processInfo(attributes);
- } else if (elementName.equals(LICENSE)) {
- stateStack.push(new Integer(STATE_LICENSE));
- processInfo(attributes);
- } else if (elementName.equals(URL)) {
- stateStack.push(new Integer(STATE_URL));
- //No process as URL tag does not contain any element itself
- } else if (elementName.equals(REQUIRES)) {
- stateStack.push(new Integer(STATE_REQUIRES));
- processRequire(attributes);
- } else if (elementName.equals(PLUGIN)) {
- stateStack.push(new Integer(STATE_PLUGIN));
- processPlugin(attributes);
- } else if (elementName.equals(DATA)) {
- stateStack.push(new Integer(STATE_DATA));
- processData(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleURLState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(UPDATE)) {
- stateStack.push(new Integer(STATE_UPDATE));
- processURLInfo(attributes);
- } else if (elementName.equals(DISCOVERY)) {
- stateStack.push(new Integer(STATE_DISCOVERY));
- processURLInfo(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleUpdateState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(REQUIRES)) {
- stateStack.push(new Integer(STATE_REQUIRES));
- processRequire(attributes);
- } else if (elementName.equals(PLUGIN)) {
- stateStack.push(new Integer(STATE_PLUGIN));
- processPlugin(attributes);
- } else if (elementName.equals(DATA)) {
- stateStack.push(new Integer(STATE_DATA));
- processData(attributes);
- } else if (elementName.equals(DISCOVERY)) {
- stateStack.push(new Integer(STATE_DISCOVERY));
- processURLInfo(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleDiscoveryState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(REQUIRES)) {
- stateStack.push(new Integer(STATE_REQUIRES));
- processRequire(attributes);
- } else if (elementName.equals(PLUGIN)) {
- stateStack.push(new Integer(STATE_PLUGIN));
- processPlugin(attributes);
- } else if (elementName.equals(DATA)) {
- stateStack.push(new Integer(STATE_DATA));
- processData(attributes);
- } else if (elementName.equals(UPDATE)) {
- stateStack.push(new Integer(STATE_UPDATE));
- processURLInfo(attributes);
- } else if (elementName.equals(DISCOVERY)) {
- stateStack.push(new Integer(STATE_DISCOVERY));
- processURLInfo(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleRequiresState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(IMPORT)) {
- stateStack.push(new Integer(STATE_IMPORT));
- processImport(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleImportState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(PLUGIN)) {
- stateStack.push(new Integer(STATE_PLUGIN));
- processPlugin(attributes);
- } else if (elementName.equals(DATA)) {
- stateStack.push(new Integer(STATE_DATA));
- processData(attributes);
- } else if (elementName.equals(IMPORT)) {
- stateStack.push(new Integer(STATE_IMPORT));
- processImport(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handlePluginState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(PLUGIN)) {
- stateStack.push(new Integer(STATE_PLUGIN));
- processPlugin(attributes);
- } else if (elementName.equals(DATA)) {
- stateStack.push(new Integer(STATE_DATA));
- processData(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleDataState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(DATA)) {
- stateStack.push(new Integer(STATE_DATA));
- processData(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultFeatureParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- /*
- * Process feature information
- */
- private void processFeature(Attributes attributes) {
-
- // identifier and version
- String id = attributes.getValue("id"); //$NON-NLS-1$
- String ver = attributes.getValue("version"); //$NON-NLS-1$
-
- if (id == null
- || id.trim().equals("") //$NON-NLS-1$
- || ver == null
- || ver.trim().equals("")) { //$NON-NLS-1$
- internalError(
- Policy.bind(
- "DefaultFeatureParser.IdOrVersionInvalid",
- new String[] { id, ver, getState(currentState)}));
- //$NON-NLS-1$
- } else {
- // create feature model
- FeatureModel feature = factory.createFeatureModel();
-
- feature.setFeatureIdentifier(id);
- feature.setFeatureVersion(ver);
-
- // label
- String label = attributes.getValue("label"); //$NON-NLS-1$
- feature.setLabel(label);
-
- // provider
- String provider = attributes.getValue("provider-name"); //$NON-NLS-1$
- feature.setProvider(provider);
-
- //image
- String imageURL = attributes.getValue("image"); //$NON-NLS-1$
- feature.setImageURLString(imageURL);
-
- // OS
- String os = attributes.getValue("os"); //$NON-NLS-1$
- feature.setOS(os);
-
- // WS
- String ws = attributes.getValue("ws"); //$NON-NLS-1$
- feature.setWS(ws);
-
- // NL
- String nl = attributes.getValue("nl"); //$NON-NLS-1$
- feature.setNL(nl);
-
- // arch
- String arch = attributes.getValue("arch"); //$NON-NLS-1$
- feature.setArch(arch);
- feature.setArch(arch);
-
- // primary
- String primary = attributes.getValue("primary"); //$NON-NLS-1$
- feature.isPrimary(primary != null && primary.trim().equalsIgnoreCase("true"));
- //$NON-NLS-1$
-
- // application
- String application = attributes.getValue("application"); //$NON-NLS-1$
- feature.setApplication(application);
-
- objectStack.push(feature);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- debug("End process DefaultFeature tag: id:" //$NON-NLS-1$
- +id + " ver:" //$NON-NLS-1$
- +ver + " label:" //$NON-NLS-1$
- +label + " provider:" //$NON-NLS-1$
- +provider);
- debug("End process DefaultFeature tag: image:" + imageURL); //$NON-NLS-1$
- debug("End process DefaultFeature tag: ws:" //$NON-NLS-1$
- +ws + " os:" //$NON-NLS-1$
- +os + " nl:" //$NON-NLS-1$
- +nl + " application:" //$NON-NLS-1$
- +application);
- }
- }
- }
-
- /*
- * process URL info with element text
- */
- private void processHandler(Attributes attributes) {
- InstallHandlerEntryModel handler = factory.createInstallHandlerEntryModel();
-
- String handlerURL = attributes.getValue("url"); //$NON-NLS-1$
- handler.setURLString(handlerURL);
-
- String library = attributes.getValue("library"); //$NON-NLS-1$
- handler.setLibrary(library);
-
- String clazz = attributes.getValue("handler"); //$NON-NLS-1$
- handler.setHandlerName(clazz);
-
- objectStack.push(handler);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("Processed Handler: url:" //$NON-NLS-1$
- +handlerURL + " library:" //$NON-NLS-1$
- +library + " class:" //$NON-NLS-1$
- +clazz);
- }
-
- /*
- * process URL info with element text
- */
- private void processInfo(Attributes attributes) {
- URLEntryModel inf = factory.createURLEntryModel();
- String infoURL = attributes.getValue("url"); //$NON-NLS-1$
- inf.setURLString(infoURL);
-
- objectStack.push(inf);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("Processed Info: url:" + infoURL); //$NON-NLS-1$
- }
-
- /*
- * process URL info with label attribute
- */
- private void processURLInfo(Attributes attributes) {
- URLEntryModel inf = factory.createURLEntryModel();
- String infoURL = attributes.getValue("url"); //$NON-NLS-1$
- String label = attributes.getValue("label"); //$NON-NLS-1$
- inf.setURLString(infoURL);
- inf.setAnnotation(label);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("Processed URLInfo: url:" + infoURL + " label:" + label);
- //$NON-NLS-1$ //$NON-NLS-2$
-
- objectStack.push(inf);
- }
-
- /*
- * process import info
- */
- private void processImport(Attributes attributes) {
- String id = attributes.getValue("plugin"); //$NON-NLS-1$
- if (id == null || id.trim().equals("")) //$NON-NLS-1$
- internalError(
- Policy.bind("DefaultFeatureParser.MissingId", getState(currentState)));
- //$NON-NLS-1$
- //$NON-NLS-1$
- else {
- ImportModel imp = factory.createImportModel();
- String ver = attributes.getValue("version"); //$NON-NLS-1$
- String match = attributes.getValue("match"); //$NON-NLS-1$
- imp.setPluginIdentifier(id);
- imp.setPluginVersion(ver);
- imp.setMatchingRuleName(match);
-
- objectStack.push(imp);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- debug("Processed import: id:" + id + " ver:" + ver);
- //$NON-NLS-1$ //$NON-NLS-2$
- debug("Processed import: match:" + match); //$NON-NLS-1$
- }
-
- }
- }
-
- /*
- * process import info
- */
- private void processRequire(Attributes attributes) {
- }
-
- /*
- * process plugin entry info
- */
- private void processPlugin(Attributes attributes) {
- String id = attributes.getValue("id"); //$NON-NLS-1$
- String ver = attributes.getValue("version"); //$NON-NLS-1$
- if (id == null
- || id.trim().equals("") //$NON-NLS-1$
- || ver == null
- || ver.trim().equals("")) { //$NON-NLS-1$
- internalError(
- Policy.bind(
- "DefaultFeatureParser.IdOrVersionInvalid",
- new String[] { id, ver, getState(currentState)}));
- //$NON-NLS-1$
- } else {
- PluginEntryModel pluginEntry = factory.createPluginEntryModel();
- pluginEntry.setPluginIdentifier(id);
- pluginEntry.setPluginVersion(ver);
-
- String fragment = attributes.getValue("fragment"); //$NON-NLS-1$
- pluginEntry.isFragment(
- fragment != null && fragment.trim().equalsIgnoreCase("true"));
- //$NON-NLS-1$
-
- //setOS
- String os = attributes.getValue("os"); //$NON-NLS-1$
- pluginEntry.setOS(os);
-
- //setWS
- String ws = attributes.getValue("ws"); //$NON-NLS-1$
- pluginEntry.setWS(ws);
-
- //setNL
- String nl = attributes.getValue("nl"); //$NON-NLS-1$
- pluginEntry.setNL(nl);
-
- // setArch
- String arch = attributes.getValue("arch"); //$NON-NLS-1$
- pluginEntry.setArch(arch);
-
- // download size
- long download_size = ContentEntryModel.UNKNOWN_SIZE;
- String download = attributes.getValue("download-size"); //$NON-NLS-1$
- if (download != null && !download.trim().equals("")) { //$NON-NLS-1$
- try {
- download_size = Long.valueOf(download).longValue();
- } catch (NumberFormatException e) {
- // use UNKNOWN_SIZE
- }
- }
- pluginEntry.setDownloadSize(download_size);
-
- // install size
- long install_size = ContentEntryModel.UNKNOWN_SIZE;
- String install = attributes.getValue("install-size"); //$NON-NLS-1$
- if (install != null && !install.trim().equals("")) { //$NON-NLS-1$
- try {
- install_size = Long.valueOf(install).longValue();
- } catch (NumberFormatException e) {
- // use UNKNOWN_SIZE
- }
- }
- pluginEntry.setInstallSize(install_size);
-
- objectStack.push(pluginEntry);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- debug("Processed Plugin: id:" + id + " ver:" + ver + " fragment:" + fragment);
- //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- debug("Processed Plugin: os:" + os + " ws:" + ws + " nl:" + nl);
- //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- debug("Processed Plugin: download size:" //$NON-NLS-1$
- +download_size + " install size:" //$NON-NLS-1$
- +install_size);
- }
-
- }
- }
-
- /*
- * process non-plug-in entry info
- */
- private void processData(Attributes attributes) {
- String id = attributes.getValue("id"); //$NON-NLS-1$
- if (id == null || id.trim().equals("")) { //$NON-NLS-1$
- internalError(
- Policy.bind("DefaultFeatureParser.MissingId", getState(currentState)));
- //$NON-NLS-1$
- //$NON-NLS-1$
- } else {
- NonPluginEntryModel dataEntry = factory.createNonPluginEntryModel();
- dataEntry.setIdentifier(id);
-
- //setOS
- String os = attributes.getValue("os"); //$NON-NLS-1$
- dataEntry.setOS(os);
-
- //setWS
- String ws = attributes.getValue("ws"); //$NON-NLS-1$
- dataEntry.setWS(ws);
-
- //setNL
- String nl = attributes.getValue("nl"); //$NON-NLS-1$
- dataEntry.setNL(nl);
-
- // setArch
- String arch = attributes.getValue("arch"); //$NON-NLS-1$
- dataEntry.setArch(arch);
-
- // download size
- long download_size = ContentEntryModel.UNKNOWN_SIZE;
- String download = attributes.getValue("download-size"); //$NON-NLS-1$
- if (download != null && !download.trim().equals("")) { //$NON-NLS-1$
- try {
- download_size = Long.valueOf(download).longValue();
- } catch (NumberFormatException e) {
- // use UNKNOWN_SIZE
- }
- }
- dataEntry.setDownloadSize(download_size);
-
- // install size
- long install_size = ContentEntryModel.UNKNOWN_SIZE;
- String install = attributes.getValue("install-size"); //$NON-NLS-1$
- if (install != null && !install.trim().equals("")) { //$NON-NLS-1$
- try {
- install_size = Long.valueOf(install).longValue();
- } catch (NumberFormatException e) {
- // use UNKNOWN_SIZE
- }
- }
- dataEntry.setInstallSize(install_size);
-
- objectStack.push(dataEntry);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- debug("Processed Data: id:" + id); //$NON-NLS-1$
- debug("Processed Data: download size:" //$NON-NLS-1$
- +download_size + " install size:" //$NON-NLS-1$
- +install_size);
- }
-
- }
- }
-
- private void debug(String s) {
- System.out.println("DefaultSiteParser: " + s); //$NON-NLS-1$
- }
-
- private void logStatus(SAXParseException ex) {
- String name = ex.getSystemId();
- if (name == null)
- name = ""; //$NON-NLS-1$
- else
- name = name.substring(1 + name.lastIndexOf("/")); //$NON-NLS-1$
-
- String msg;
- if (name.equals("")) { //$NON-NLS-1$
- msg = Policy.bind("DefaultFeatureParser.ErrorParsing", ex.getMessage());
- //$NON-NLS-1$
- } else {
- String[] values =
- new String[] {
- name,
- Integer.toString(ex.getLineNumber()),
- Integer.toString(ex.getColumnNumber()),
- ex.getMessage()};
- msg = Policy.bind("DefaultFeatureParser.ErrorlineColumnMessage", values);
- //$NON-NLS-1$
- }
- error(new Status(IStatus.WARNING, PLUGIN_ID, Platform.PARSE_PROBLEM, msg, ex));
- }
-
- /*
- * Handles an error state specified by the status. The collection of all logged status
- * objects can be accessed using <code>getStatus()</code>.
- *
- * @param error a status detailing the error condition
- */
- private void error(IStatus error) {
-
- getStatus().add(error);
- UpdateManagerPlugin.getPlugin().getLog().log(error);
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- UpdateManagerPlugin.getPlugin().debug(error.toString());
- }
-
- private void internalErrorUnknownTag(String msg) {
- stateStack.push(new Integer(STATE_IGNORED_ELEMENT));
- internalError(msg);
- }
-
- private void internalError(String message) {
- error(
- new Status(IStatus.WARNING, PLUGIN_ID, Platform.PARSE_PROBLEM, message, null));
- }
-
- /*
- * return the state as String
- */
- private String getState(int state) {
-
- switch (state) {
- case STATE_IGNORED_ELEMENT :
- return "Ignored"; //$NON-NLS-1$
-
- case STATE_INITIAL :
- return "Initial"; //$NON-NLS-1$
-
- case STATE_FEATURE :
- return "Feature"; //$NON-NLS-1$
-
- case STATE_HANDLER :
- return "Install Handler"; //$NON-NLS-1$
-
- case STATE_DESCRIPTION :
- return "description"; //$NON-NLS-1$
-
- case STATE_COPYRIGHT :
- return "Copyright"; //$NON-NLS-1$
-
- case STATE_LICENSE :
- return "License"; //$NON-NLS-1$
-
- case STATE_URL :
- return "URL"; //$NON-NLS-1$
-
- case STATE_UPDATE :
- return "Update URL"; //$NON-NLS-1$
-
- case STATE_DISCOVERY :
- return "Discovery URL"; //$NON-NLS-1$
-
- case STATE_REQUIRES :
- return "Require"; //$NON-NLS-1$
-
- case STATE_IMPORT :
- return "Import"; //$NON-NLS-1$
-
- case STATE_PLUGIN :
- return "Plugin"; //$NON-NLS-1$
-
- case STATE_DATA :
- return "Data"; //$NON-NLS-1$
-
- default :
- return Policy.bind(
- "DefaultFeatureParser.UnknownState",
- Integer.toString(state));
- //$NON-NLS-1$
- }
-
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultSiteParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultSiteParser.java
deleted file mode 100644
index e520af8..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/DefaultSiteParser.java
+++ /dev/null
@@ -1,739 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.*;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Iterator;
-import java.util.Stack;
-
-import org.apache.xerces.parsers.SAXParser;
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.URLEntry;
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-import org.eclipse.update.internal.core.UpdateManagerUtils;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-import org.eclipse.update.internal.core.Policy;
-
-/**
- * Default site parser.
- * Parses the site manifest file as defined by the platform. Defers
- * to a model factory to create the actual concrete model objects. The
- * update framework supplies two factory implementations:
- * <ul>
- * <li>@see org.eclipse.update.core.model.SiteModelFactory
- * <li>@see org.eclipse.update.core.BaseSiteFactory
- * </ul>
- *
- * @since 2.0
- */
-public class DefaultSiteParser extends DefaultHandler {
-
- private SAXParser parser;
- private SiteModelFactory factory;
-
- private MultiStatus status;
-
- private boolean DESCRIPTION_SITE_ALREADY_SEEN = false;
-
- private static final int STATE_IGNORED_ELEMENT = -1;
- private static final int STATE_INITIAL = 0;
- private static final int STATE_SITE = 1;
- private static final int STATE_FEATURE = 2;
- private static final int STATE_ARCHIVE = 3;
- private static final int STATE_CATEGORY = 4;
- private static final int STATE_CATEGORY_DEF = 5;
- private static final int STATE_DESCRIPTION_SITE = 6;
- private static final int STATE_DESCRIPTION_CATEGORY_DEF = 7;
- private static final String PLUGIN_ID =
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
-
- private static final String SITE = "site"; //$NON-NLS-1$
- private static final String FEATURE = "feature"; //$NON-NLS-1$
- private static final String ARCHIVE = "archive"; //$NON-NLS-1$
- private static final String CATEGORY_DEF = "category-def"; //$NON-NLS-1$
- private static final String CATEGORY = "category"; //$NON-NLS-1$
- private static final String DESCRIPTION = "description"; //$NON-NLS-1$
-
- private static final String DEFAULT_INFO_URL = "index.html"; //$NON-NLS-1$
-
- // Current State Information
- Stack stateStack = new Stack();
-
- // Current object stack (used to hold the current object we are
- // populating in this plugin descriptor
- Stack objectStack = new Stack();
-
- private int currentState;
-
- /**
- * Constructs a site parser.
- *
- * @param factory site model factory
- */
- public DefaultSiteParser(SiteModelFactory factory) {
- super();
- this.parser = new SAXParser();
- this.parser.setContentHandler(this);
- this.factory = factory;
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("Created"); //$NON-NLS-1$
- }
-
- /**
- * Parses the specified input steam and constructs a site model.
- * The input stream is not closed as part of this operation.
- *
- * @param in input stream
- * @return site model
- * @exception SAXException
- * @exception IOException
- * @since 2.0
- */
- public SiteModel parse(InputStream in) throws SAXException, IOException {
- stateStack.push(new Integer(STATE_INITIAL));
- currentState = ((Integer) stateStack.peek()).intValue();
- parser.parse(new InputSource(in));
- if (objectStack.isEmpty())
- throw new SAXException(Policy.bind("DefaultSiteParser.NoSiteTag"));
- //$NON-NLS-1$
- else {
- if (objectStack.peek() instanceof SiteModel) {
- return (SiteModel) objectStack.pop();
- } else {
- String stack = ""; //$NON-NLS-1$
- Iterator iter = objectStack.iterator();
- while (iter.hasNext()) {
- stack = stack + iter.next().toString() + "\r\n"; //$NON-NLS-1$
- }
- throw new SAXException(
- Policy.bind("DefaultSiteParser.WrongParsingStack", stack));
- //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Returns all status objects accumulated by the parser.
- *
- * @return multi-status containing accumulated status, or <code>null</code>.
- * @since 2.0
- */
- public MultiStatus getStatus() {
- if (status == null) {
- status =
- new MultiStatus(
- PLUGIN_ID,
- Platform.PARSE_PROBLEM,
- Policy.bind("DefaultSiteParser.ErrorParsingSite"),
- null);
- //$NON-NLS-1$
- }
- return status;
- }
-
- /**
- * Handle start of element tags
- * @see DefaultHandler#startElement(String, String, String, Attributes)
- * @since 2.0
- */
- public void startElement(
- String uri,
- String localName,
- String qName,
- Attributes attributes)
- throws SAXException {
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- debug("State: " + currentState); //$NON-NLS-1$
- debug(
- "Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName);
- //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- switch (currentState) {
- case STATE_IGNORED_ELEMENT :
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultSiteParser.UnknownElement",
- localName,
- getState(currentState)));
- //$NON-NLS-1$
- break;
- case STATE_INITIAL :
- handleInitialState(localName, attributes);
- break;
-
- case STATE_SITE :
- handleSiteState(localName, attributes);
- break;
-
- case STATE_FEATURE :
- handleFeatureState(localName, attributes);
- break;
-
- case STATE_ARCHIVE :
- handleArchiveState(localName, attributes);
- break;
-
- case STATE_CATEGORY :
- handleCategoryState(localName, attributes);
- break;
-
- case STATE_CATEGORY_DEF :
- handleCategoryDefState(localName, attributes);
- break;
-
- case STATE_DESCRIPTION_SITE :
- handleDescriptionSiteState(localName, attributes);
- break;
-
- case STATE_DESCRIPTION_CATEGORY_DEF :
- handleDescriptionCategoryDefState(localName, attributes);
- break;
-
- default :
- internalErrorUnknownTag(
- Policy.bind("DefaultSiteParser.UnknownStartState", getState(currentState)));
- //$NON-NLS-1$
- break;
- }
- int newState = ((Integer) stateStack.peek()).intValue();
- if (newState != STATE_IGNORED_ELEMENT)
- currentState = newState;
-
- }
-
- /**
- * Handle end of element tags
- * @see DefaultHandler#endElement(String, String, String)
- * @since 2.0
- */
- public void endElement(String uri, String localName, String qName) {
-
- String text = null;
- URLEntryModel info = null;
-
- int state = ((Integer) stateStack.peek()).intValue();
- switch (state) {
- case STATE_IGNORED_ELEMENT :
- case STATE_ARCHIVE :
- case STATE_CATEGORY :
- stateStack.pop();
- break;
-
- case STATE_INITIAL :
- internalError(Policy.bind("DefaultSiteParser.ParsingStackBackToInitialState"));
- //$NON-NLS-1$
- break;
-
- case STATE_SITE :
- stateStack.pop();
- if (objectStack.peek() instanceof String) {
- text = (String) objectStack.pop();
- SiteModel site = (SiteModel) objectStack.peek();
- site.getDescriptionModel().setAnnotation(text);
- }
- //do not pop the object
- break;
-
- case STATE_FEATURE :
- stateStack.pop();
- objectStack.pop();
- break;
-
- case STATE_CATEGORY_DEF :
- stateStack.pop();
- if (objectStack.peek() instanceof String) {
- text = (String) objectStack.pop();
- CategoryModel category = (CategoryModel) objectStack.peek();
- category.getDescriptionModel().setAnnotation(text);
- }
- objectStack.pop();
- break;
-
- case STATE_DESCRIPTION_SITE :
- stateStack.pop();
- text = ""; //$NON-NLS-1$
- while (objectStack.peek() instanceof String) {
- text = (String) objectStack.pop() + text;
- }
-
- info = (URLEntryModel) objectStack.pop();
- if (text != null)
- info.setAnnotation(text);
-
- SiteModel siteModel = (SiteModel) objectStack.peek();
- // override description.
- // do not raise error as previous description may be default one
- // when parsing site tag
- if (DESCRIPTION_SITE_ALREADY_SEEN)
- debug(Policy.bind("DefaultSiteParser.ElementAlreadySet", getState(state)));
- //$NON-NLS-1$
- siteModel.setDescriptionModel(info);
- DESCRIPTION_SITE_ALREADY_SEEN = true;
- break;
-
- case STATE_DESCRIPTION_CATEGORY_DEF :
- stateStack.pop();
- text = ""; //$NON-NLS-1$
- while (objectStack.peek() instanceof String) {
- text = (String) objectStack.pop() + text;
- }
-
- info = (URLEntryModel) objectStack.pop();
- if (text != null)
- info.setAnnotation(text);
-
- CategoryModel category = (CategoryModel) objectStack.peek();
- if (category.getDescriptionModel() != null)
- internalError(
- Policy.bind(
- "DefaultSiteParser.ElementAlreadySet2",
- getState(state),
- category.getLabel()));
- //$NON-NLS-1$
- else
- category.setDescriptionModel(info);
- break;
-
- default :
- internalError(
- Policy.bind("DefaultSiteParser.UnknownEndState", getState(state)));
- //$NON-NLS-1$
- break;
- }
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("End Element:" + uri + ":" + localName + ":" + qName);
- //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- /**
- * Handle character text
- * @see DefaultHandler#characters(char[], int, int)
- * @since 2.0
- */
- public void characters(char[] ch, int start, int length) {
- String text = new String(ch, start, length).trim();
- //only push if description
- int state = ((Integer) stateStack.peek()).intValue();
- if (state == STATE_DESCRIPTION_SITE || state == STATE_DESCRIPTION_CATEGORY_DEF)
- objectStack.push(text);
-
- }
-
- /**
- * Handle errors
- * @see DefaultHandler#error(SAXParseException)
- * @since 2.0
- */
- public void error(SAXParseException ex) {
- logStatus(ex);
- }
-
- /**
- * Handle fatal errors
- * @see DefaultHandler#fatalError(SAXParseException)
- * @exception SAXException
- * @since 2.0
- */
- public void fatalError(SAXParseException ex) throws SAXException {
- logStatus(ex);
- throw ex;
- }
-
- private void handleInitialState(String elementName, Attributes attributes)
- throws SAXException {
- if (elementName.equals(SITE)) {
- stateStack.push(new Integer(STATE_SITE));
- processSite(attributes);
- } else {
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultSiteParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- // what we received was not a site.xml, no need to continue
- throw new SAXException("The XML stream is not a valid default site.xml file. The root tag is not site");
- }
-
- }
-
- private void handleSiteState(String elementName, Attributes attributes) {
- if (elementName.equals(DESCRIPTION)) {
- stateStack.push(new Integer(STATE_DESCRIPTION_SITE));
- processInfo(attributes);
- } else if (elementName.equals(FEATURE)) {
- stateStack.push(new Integer(STATE_FEATURE));
- processFeature(attributes);
- } else if (elementName.equals(ARCHIVE)) {
- stateStack.push(new Integer(STATE_ARCHIVE));
- processArchive(attributes);
- } else if (elementName.equals(CATEGORY_DEF)) {
- stateStack.push(new Integer(STATE_CATEGORY_DEF));
- processCategoryDef(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultSiteParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleFeatureState(String elementName, Attributes attributes) {
- if (elementName.equals(FEATURE)) {
- stateStack.push(new Integer(STATE_FEATURE));
- processFeature(attributes);
- } else if (elementName.equals(ARCHIVE)) {
- stateStack.push(new Integer(STATE_ARCHIVE));
- processArchive(attributes);
- } else if (elementName.equals(CATEGORY_DEF)) {
- stateStack.push(new Integer(STATE_CATEGORY_DEF));
- processCategoryDef(attributes);
- } else if (elementName.equals(CATEGORY)) {
- stateStack.push(new Integer(STATE_CATEGORY));
- processCategory(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultSiteParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleArchiveState(String elementName, Attributes attributes) {
- if (elementName.equals(ARCHIVE)) {
- stateStack.push(new Integer(STATE_ARCHIVE));
- processArchive(attributes);
- } else if (elementName.equals(CATEGORY_DEF)) {
- stateStack.push(new Integer(STATE_CATEGORY_DEF));
- processCategoryDef(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultSiteParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleCategoryState(String elementName, Attributes attributes) {
- if (elementName.equals(FEATURE)) {
- stateStack.push(new Integer(STATE_FEATURE));
- processFeature(attributes);
- } else if (elementName.equals(ARCHIVE)) {
- stateStack.push(new Integer(STATE_ARCHIVE));
- processArchive(attributes);
- } else if (elementName.equals(CATEGORY_DEF)) {
- stateStack.push(new Integer(STATE_CATEGORY_DEF));
- processCategoryDef(attributes);
- } else if (elementName.equals(CATEGORY)) {
- stateStack.push(new Integer(STATE_CATEGORY));
- processCategory(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultSiteParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleCategoryDefState(
- String elementName,
- Attributes attributes) {
- if (elementName.equals(CATEGORY_DEF)) {
- stateStack.push(new Integer(STATE_CATEGORY_DEF));
- processCategoryDef(attributes);
- } else if (elementName.equals(DESCRIPTION)) {
- stateStack.push(new Integer(STATE_DESCRIPTION_CATEGORY_DEF));
- processInfo(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultSiteParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleDescriptionSiteState(
- String elementName,
- Attributes attributes) {
- if (elementName.equals(FEATURE)) {
- stateStack.push(new Integer(STATE_FEATURE));
- processFeature(attributes);
- } else if (elementName.equals(ARCHIVE)) {
- stateStack.push(new Integer(STATE_ARCHIVE));
- processArchive(attributes);
- } else if (elementName.equals(CATEGORY_DEF)) {
- stateStack.push(new Integer(STATE_CATEGORY_DEF));
- processCategoryDef(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultSiteParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- private void handleDescriptionCategoryDefState(
- String elementName,
- Attributes attributes) {
- if (elementName.equals(CATEGORY_DEF)) {
- stateStack.push(new Integer(STATE_CATEGORY_DEF));
- processCategoryDef(attributes);
- } else if (elementName.equals(DESCRIPTION)) {
- stateStack.push(new Integer(STATE_DESCRIPTION_CATEGORY_DEF));
- processInfo(attributes);
- } else
- internalErrorUnknownTag(
- Policy.bind(
- "DefaultSiteParser.UnknownElement",
- elementName,
- getState(currentState)));
- //$NON-NLS-1$
- }
-
- /*
- * process site info
- */
- private void processSite(Attributes attributes) throws SAXException {
- // create site map
- SiteModel site = factory.createSiteMapModel();
-
- // if URL is specified, it replaces the URL of the site
- // used to calculate the location of features and archives
- String siteURL = attributes.getValue("url"); //$NON-NLS-1$
- if (siteURL != null && !("".equals(siteURL.trim()))) { //$NON-NLS-1$
- if (!siteURL.endsWith("/")
- && !siteURL.endsWith(File.separator)) { //$NON-NLS-1$
- siteURL += "/"; //$NON-NLS-1$
- }
- site.setLocationURLString(siteURL);
- }
-
- // provide default description URL
- // If <description> is specified, for the site, it takes precedence
- URLEntryModel description = factory.createURLEntryModel();
- description.setURLString(DEFAULT_INFO_URL);
- site.setDescriptionModel(description);
-
- // verify we can parse the site ...if the site has
- // a different type throw an exception to force reparsing
- // with the matching parser
- String type = attributes.getValue("type"); //$NON-NLS-1$
- if (!factory.canParseSiteType(type)) {
- throw new SAXException(new InvalidSiteTypeException(type));
- }
- site.setType(type);
- objectStack.push(site);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("End process Site tag: siteURL:" + siteURL + " type:" + type);
- //$NON-NLS-1$ //$NON-NLS-2$
-
- }
-
- /*
- * process feature info
- */
- private void processFeature(Attributes attributes) {
- FeatureReferenceModel feature = factory.createFeatureReferenceModel();
- String urlInfo = attributes.getValue("url"); //$NON-NLS-1$
- if (urlInfo == null || urlInfo.trim().equals("")) //$NON-NLS-1$
- internalError(
- Policy.bind("DefaultSiteParser.Missing", "url", getState(currentState)));
- //$NON-NLS-1$ //$NON-NLS-2$
-
- feature.setURLString(urlInfo);
-
- String type = attributes.getValue("type"); //$NON-NLS-1$
- feature.setType(type);
-
- SiteModel site = (SiteModel) objectStack.peek();
- site.addFeatureReferenceModel(feature);
- feature.setSiteModel(site);
-
- objectStack.push(feature);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("End Processing DefaultFeature Tag: url:" + urlInfo + " type:" + type);
- //$NON-NLS-1$ //$NON-NLS-2$
-
- }
-
- /*
- * process archive info
- */
- private void processArchive(Attributes attributes) {
- ArchiveReferenceModel archive = factory.createArchiveReferenceModel();
- String id = attributes.getValue("path"); //$NON-NLS-1$
- if (id == null || id.trim().equals("")) { //$NON-NLS-1$
- internalError(
- Policy.bind("DefaultSiteParser.Missing", "path", getState(currentState)));
- //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- archive.setPath(id);
-
- String url = attributes.getValue("url"); //$NON-NLS-1$
- if (url == null || url.trim().equals("")) { //$NON-NLS-1$
- internalError(
- Policy.bind("DefaultSiteParser.Missing", "archive", getState(currentState)));
- //$NON-NLS-1$ //$NON-NLS-2$
- } else {
- archive.setURLString(url);
-
- SiteModel site = (SiteModel) objectStack.peek();
- site.addArchiveReferenceModel(archive);
- }
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("End processing Archive: path:" + id + " url:" + url);
- //$NON-NLS-1$ //$NON-NLS-2$
-
- }
-
- /*
- * process the Category info
- */
- private void processCategory(Attributes attributes) {
- String category = attributes.getValue("name"); //$NON-NLS-1$
- FeatureReferenceModel feature = (FeatureReferenceModel) objectStack.peek();
- feature.addCategoryName(category);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("End processing Category: name:" + category); //$NON-NLS-1$
- }
-
- /*
- * process category def info
- */
- private void processCategoryDef(Attributes attributes) {
- CategoryModel category = factory.createSiteCategoryModel();
- String name = attributes.getValue("name"); //$NON-NLS-1$
- String label = attributes.getValue("label"); //$NON-NLS-1$
- category.setName(name);
- category.setLabel(label);
-
- SiteModel site = (SiteModel) objectStack.peek();
- site.addCategoryModel(category);
- objectStack.push(category);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("End processing CategoryDef: name:" + name + " label:" + label);
- //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /*
- * process URL info with element text
- */
- private void processInfo(Attributes attributes) {
- URLEntryModel inf = factory.createURLEntryModel();
- String infoURL = attributes.getValue("url"); //$NON-NLS-1$
- inf.setURLString(infoURL);
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- debug("Processed Info: url:" + infoURL); //$NON-NLS-1$
-
- objectStack.push(inf);
- }
-
- private void debug(String s) {
- UpdateManagerPlugin.getPlugin().debug(s);
- }
-
- private void logStatus(SAXParseException ex) {
- String name = ex.getSystemId();
- if (name == null)
- name = ""; //$NON-NLS-1$
- else
- name = name.substring(1 + name.lastIndexOf("/")); //$NON-NLS-1$
-
- String msg;
- if (name.equals("")) //$NON-NLS-1$
- msg = Policy.bind("DefaultSiteParser.ErrorParsing", ex.getMessage());
- //$NON-NLS-1$
- else {
- String[] values =
- new String[] {
- name,
- Integer.toString(ex.getLineNumber()),
- Integer.toString(ex.getColumnNumber()),
- ex.getMessage()};
- msg = Policy.bind("DefaultSiteParser.ErrorLineColumnMessage", values);
- //$NON-NLS-1$
- }
- error(new Status(IStatus.WARNING, PLUGIN_ID, Platform.PARSE_PROBLEM, msg, ex));
- }
-
- /*
- * Handles an error state specified by the status. The collection of all logged status
- * objects can be accessed using <code>getStatus()</code>.
- *
- * @param error a status detailing the error condition
- */
- private void error(IStatus error) {
-
- getStatus().add(error);
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING)
- UpdateManagerPlugin.getPlugin().debug(error.toString());
- }
-
- private void internalErrorUnknownTag(String msg) {
- stateStack.push(new Integer(STATE_IGNORED_ELEMENT));
- internalError(msg);
- }
-
- private void internalError(String message) {
- error(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, message, null));
- }
-
- /*
- * return the state as String
- */
- private String getState(int state) {
-
- switch (state) {
- case STATE_IGNORED_ELEMENT :
- return "Ignored"; //$NON-NLS-1$
-
- case STATE_INITIAL :
- return "Initial"; //$NON-NLS-1$
-
- case STATE_SITE :
- return "Site"; //$NON-NLS-1$
-
- case STATE_FEATURE :
- return "Feature"; //$NON-NLS-1$
-
- case STATE_ARCHIVE :
- return "Archive"; //$NON-NLS-1$
-
- case STATE_CATEGORY :
- return "Category"; //$NON-NLS-1$
-
- case STATE_CATEGORY_DEF :
- return "Category Def"; //$NON-NLS-1$
-
- case STATE_DESCRIPTION_CATEGORY_DEF :
- return "Description / Category Def"; //$NON-NLS-1$
-
- case STATE_DESCRIPTION_SITE :
- return "Description / Site"; //$NON-NLS-1$
-
- default :
- return Policy.bind("DefaultSiteParser.UnknownState"); //$NON-NLS-1$
- }
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureModel.java
deleted file mode 100644
index a9515f1..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureModel.java
+++ /dev/null
@@ -1,761 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-/**
- * Feature model object.
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead instantiate or subclass the provided
- * concrete implementation of this model.
- * </p>
- * @see org.eclipse.update.core.Feature
- * @since 2.0
- */
-public class FeatureModel extends ModelObject {
-
- private String featureId;
- private String featureVersion;
- private String label;
- private String localizedLabel;
- private String provider;
- private String localizedProvider;
- private String imageURLString;
- private URL imageURL;
- private String os;
- private String ws;
- private String nl;
- private String arch;
- private boolean isPrimary = false;
- private String application;
- private InstallHandlerEntryModel installHandler;
- private URLEntryModel description;
- private URLEntryModel copyright;
- private URLEntryModel license;
- private URLEntryModel updateSiteInfo;
- private List /*of InfoModel*/
- discoverySiteInfo;
- private List /*of ImportModel*/
- imports;
- private List /*of PluginEntryModel*/
- pluginEntries;
- private List /*of NonPluginEntryModel*/
- nonPluginEntries;
- private List /*of ContentGroupModel*/
- groupEntries;
-
- /**
- * Creates an uninitialized feature object.
- *
- * @since 2.0
- */
- public FeatureModel() {
- super();
- }
-
- /**
- * Compares 2 feature models for equality
- *
- * @param obj feature model to compare with
- * @return <code>true</code> if the two models are equal,
- * <code>false</code> otherwise
- * @since 2.0
- */
- public boolean equals(Object obj) {
- if (!(obj instanceof FeatureModel))
- return false;
- FeatureModel model = (FeatureModel) obj;
-
- return (
- featureId.toLowerCase().equals(model.getFeatureIdentifier())
- && featureVersion.toLowerCase().equals(model.getFeatureVersion()));
- }
-
- /**
- * Returns the feature identifier as a string
- *
- * @see org.eclipse.update.core.IFeature#getVersionedIdentifier()
- * @return feature identifier
- * @since 2.0
- */
- public String getFeatureIdentifier() {
- return featureId;
- }
-
- /**
- * Returns the feature version as a string
- *
- * @see org.eclipse.update.core.IFeature#getVersionedIdentifier()
- * @return feature version
- * @since 2.0
- */
- public String getFeatureVersion() {
- return featureVersion;
- }
-
- /**
- * Retrieve the displayable label for the feature. If the model
- * object has been resolved, the label is localized.
- *
- * @return displayable label, or <code>null</code>.
- * @since 2.0
- */
- public String getLabel() {
- if (localizedLabel != null)
- return localizedLabel;
- else
- return label;
- }
-
- /**
- * Retrieve the non-localized displayable label for the feature.
- *
- * @return non-localized displayable label, or <code>null</code>.
- * @since 2.0
- */
- public String getLabelNonLocalized() {
- return label;
- }
-
- /**
- * Retrieve the displayable label for the feature provider. If the model
- * object has been resolved, the label is localized.
- *
- * @return displayable label, or <code>null</code>.
- * @since 2.0
- */
- public String getProvider() {
- if (localizedProvider != null)
- return localizedProvider;
- else
- return provider;
- }
-
- /**
- * Retrieve the non-localized displayable label for the feature provider.
- *
- * @return non-localized displayable label, or <code>null</code>.
- * @since 2.0
- */
- public String getProviderNonLocalized() {
- return provider;
- }
-
- /**
- * Returns the unresolved URL string for the feature image.
- *
- * @return url string, or <code>null</code>
- * @since 2.0
- */
- public String getImageURLString() {
- return imageURLString;
- }
-
- /**
- * Returns the resolved URL for the image.
- *
- * @return url, or <code>null</code>
- * @since 2.0
- */
- public URL getImageURL() {
- return imageURL;
- }
-
- /**
- * Get optional operating system specification as a comma-separated string.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return the operating system specification string, or <code>null</code>.
- * @since 2.0
- */
- public String getOS() {
- return os;
- }
-
- /**
- * Get optional windowing system specification as a comma-separated string.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return the windowing system specification string, or <code>null</code>.
- * @since 2.0
- */
- public String getWS() {
- return ws;
- }
-
- /**
- * Get optional system architecture specification as a comma-separated string.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @return the system architecture specification string, or <code>null</code>.
- * @since 2.0
- */
- public String getArch() {
- return arch;
- }
-
- /**
- * Get optional locale specification as a comma-separated string.
- *
- * @return the locale specification string, or <code>null</code>.
- * @since 2.0
- */
- public String getNL() {
- return nl;
- }
-
- /**
- * Indicates whether the feature can be used as a primary feature.
- *
- * @return <code>true</code> if this is a primary feature,
- * otherwise <code>false</code>
- * @since 2.0
- */
- public boolean isPrimary() {
- return isPrimary;
- }
-
- /**
- * Returns an optional identifier for the feature application
- *
- * @return application identifier, or <code>null</code>.
- * @since 2.0
- */
- public String getApplication() {
- return application;
- }
-
- /**
- * Returns and optional custom install handler entry.
- *
- * @return install handler entry, or <code>null</code> if
- * none was specified
- * @since 2.0
- */
- public InstallHandlerEntryModel getInstallHandlerModel() {
- return installHandler;
- }
-
- /**
- * Returns the feature description.
- *
- * @return feature rescription, or <code>null</code>.
- * @since 2.0
- */
- public URLEntryModel getDescriptionModel() {
- return description;
- }
-
- /**
- * Returns the copyright information for the feature.
- *
- * @return copyright information, or <code>null</code>.
- * @since 2.0
- */
- public URLEntryModel getCopyrightModel() {
- return copyright;
- }
-
- /**
- * Returns the license information for the feature.
- *
- * @return feature license, or <code>null</code>.
- * @since 2.0
- */
- public URLEntryModel getLicenseModel() {
- return license;
- }
-
- /**
- * Returns an information entry referencing the location of the
- * feature update site.
- *
- * @return update site entry, or <code>null</code>.
- * @since 2.0
- */
- public URLEntryModel getUpdateSiteEntryModel() {
- return updateSiteInfo;
- }
-
- /**
- * Return an array of information entries referencing locations of other
- * update sites.
- *
- * @return an array of site entries, or an empty array.
- * @since 2.0
- * @since 2.0
- */
- public URLEntryModel[] getDiscoverySiteEntryModels() {
- if (discoverySiteInfo == null)
- return new URLEntryModel[0];
-
- return (URLEntryModel[]) discoverySiteInfo.toArray(
- arrayTypeFor(discoverySiteInfo));
- }
-
- /**
- * Return a list of plug-in dependencies for this feature.
- *
- * @return the list of required plug-in dependencies, or an empty array.
- * @since 2.0
- */
- public ImportModel[] getImportModels() {
- if (imports == null)
- return new ImportModel[0];
-
- return (ImportModel[]) imports.toArray(arrayTypeFor(imports));
- }
-
- /**
- * Returns an array of plug-in entries referenced by this feature
- *
- * @return an erray of plug-in entries, or an empty array.
- * @since 2.0
- */
- public PluginEntryModel[] getPluginEntryModels() {
- if (pluginEntries == null)
- return new PluginEntryModel[0];
-
- return (PluginEntryModel[]) pluginEntries.toArray(arrayTypeFor(pluginEntries));
- }
-
- /**
- * Returns an array of non-plug-in entries referenced by this feature
- *
- * @return an erray of non-plug-in entries, or an empty array.
- * @since 2.0
- */
- public NonPluginEntryModel[] getNonPluginEntryModels() {
- if (nonPluginEntries == null)
- return new NonPluginEntryModel[0];
-
- return (NonPluginEntryModel[]) nonPluginEntries.toArray(
- arrayTypeFor(nonPluginEntries));
- }
-
- /**
- * Sets the feature identifier.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param featureId feature identifier
- * @since 2.0
- */
- public void setFeatureIdentifier(String featureId) {
- assertIsWriteable();
- this.featureId = featureId;
- }
-
- /**
- * Sets the feature version.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param featureVersion feature version
- * @since 2.0
- */
- public void setFeatureVersion(String featureVersion) {
- assertIsWriteable();
- this.featureVersion = featureVersion;
- }
-
- /**
- * Sets the feature displayable label.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param label displayable label
- * @since 2.0
- */
- public void setLabel(String label) {
- assertIsWriteable();
- this.label = label;
- this.localizedLabel = null;
- }
-
- /**
- * Sets the feature provider displayable label.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param provider provider displayable label
- * @since 2.0
- */
- public void setProvider(String provider) {
- assertIsWriteable();
- this.provider = provider;
- this.localizedProvider = null;
- }
-
- /**
- * Sets the unresolved URL for the feature image.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param imageURLString unresolved URL string
- * @since 2.0
- */
- public void setImageURLString(String imageURLString) {
- assertIsWriteable();
- this.imageURLString = imageURLString;
- this.imageURL = null;
- }
-
- /**
- * Sets the operating system specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @param os operating system specification as a comma-separated list
- * @since 2.0
- */
- public void setOS(String os) {
- assertIsWriteable();
- this.os = os;
- }
-
- /**
- * Sets the windowing system specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @param ws windowing system specification as a comma-separated list
- * @since 2.0
- */
- public void setWS(String ws) {
- assertIsWriteable();
- this.ws = ws;
- }
-
- /**
- * Sets the locale specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param nl locale specification as a comma-separated list
- * @since 2.0
- */
- public void setNL(String nl) {
- assertIsWriteable();
- this.nl = nl;
- }
-
- /**
- * Sets the system architecture specification.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @see org.eclipse.core.boot.BootLoader
- * @param arch system architecture specification as a comma-separated list
- * @since 2.0
- */
- public void setArch(String arch) {
- assertIsWriteable();
- this.arch = arch;
- }
-
- /**
- * Indicates whether this feature can act as a primary feature.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param isPrimary <code>true</code> if this feature can act as primary,
- * <code>false</code> otherwise
- *
- * @since 2.0
- */
- public void isPrimary(boolean isPrimary) {
- assertIsWriteable();
- this.isPrimary = isPrimary;
- }
-
- /**
- * Sets the feature application identifier.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param application feature application identifier
- * @since 2.0
- */
- public void setApplication(String application) {
- assertIsWriteable();
- this.application = application;
- }
-
- /**
- * Sets the custom install handler for the feature.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param installHandler install handler entry
- * @since 2.0
- */
- public void setInstallHandlerModel(InstallHandlerEntryModel installHandler) {
- assertIsWriteable();
- this.installHandler = installHandler;
- }
-
- /**
- * Sets the feature description information.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param description feature description information
- * @since 2.0
- */
- public void setDescriptionModel(URLEntryModel description) {
- assertIsWriteable();
- this.description = description;
- }
-
- /**
- * Sets the feature copyright information.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param copyright feature copyright information
- * @since 2.0
- */
- public void setCopyrightModel(URLEntryModel copyright) {
- assertIsWriteable();
- this.copyright = copyright;
- }
-
- /**
- * Sets the feature license information.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param license feature license information
- * @since 2.0
- */
- public void setLicenseModel(URLEntryModel license) {
- assertIsWriteable();
- this.license = license;
- }
-
- /**
- * Sets the feature update site reference.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param updateSiteInfo feature update site reference
- * @since 2.0
- */
- public void setUpdateSiteEntryModel(URLEntryModel updateSiteInfo) {
- assertIsWriteable();
- this.updateSiteInfo = updateSiteInfo;
- }
-
- /**
- * Sets additional update site references.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param discoverySiteInfo additional update site references
- * @since 2.0
- */
- public void setDiscoverySiteEntryModels(URLEntryModel[] discoverySiteInfo) {
- assertIsWriteable();
- if (discoverySiteInfo == null)
- this.discoverySiteInfo = null;
- else
- this.discoverySiteInfo = new ArrayList(Arrays.asList(discoverySiteInfo));
- }
-
- /**
- * Sets the feature plug-in dependency information.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param imports feature plug-in dependency information
- * @since 2.0
- */
- public void setImportModels(ImportModel[] imports) {
- assertIsWriteable();
- if (imports == null)
- this.imports = null;
- else
- this.imports = new ArrayList(Arrays.asList(imports));
- }
-
- /**
- * Sets the feature plug-in references.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param pluginEntries feature plug-in references
- * @since 2.0
- */
- public void setPluginEntryModels(PluginEntryModel[] pluginEntries) {
- assertIsWriteable();
- if (pluginEntries == null)
- this.pluginEntries = null;
- else
- this.pluginEntries = new ArrayList(Arrays.asList(pluginEntries));
- }
-
- /**
- * Sets the feature non-plug-in data references.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param nonPluginEntries feature non-plug-in data references
- * @since 2.0
- */
- public void setNonPluginEntryModels(NonPluginEntryModel[] nonPluginEntries) {
- assertIsWriteable();
- if (nonPluginEntries == null)
- this.nonPluginEntries = null;
- else
- this.nonPluginEntries = new ArrayList(Arrays.asList(nonPluginEntries));
- }
-
- /**
- * Adds an additional update site reference.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param discoverySiteInfo update site reference
- * @since 2.0
- */
- public void addDiscoverySiteEntryModel(URLEntryModel discoverySiteInfo) {
- assertIsWriteable();
- if (this.discoverySiteInfo == null)
- this.discoverySiteInfo = new ArrayList();
- if (!this.discoverySiteInfo.contains(discoverySiteInfo))
- this.discoverySiteInfo.add(discoverySiteInfo);
- }
-
- /**
- * Adds a plug-in dependency entry.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param importEntry plug-in dependency entry
- * @since 2.0
- */
- public void addImportModel(ImportModel importEntry) {
- assertIsWriteable();
- if (this.imports == null)
- this.imports = new ArrayList();
- if (!this.imports.contains(importEntry))
- this.imports.add(importEntry);
- }
-
- /**
- * Adds a plug-in reference.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param pluginEntry plug-in reference
- * @since 2.0
- */
- public void addPluginEntryModel(PluginEntryModel pluginEntry) {
- assertIsWriteable();
- if (this.pluginEntries == null)
- this.pluginEntries = new ArrayList();
- if (!this.pluginEntries.contains(pluginEntry))
- this.pluginEntries.add(pluginEntry);
- }
-
- /**
- * Adds a non-plug-in data reference.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param nonPluginEntry non-plug-in data reference
- * @since 2.0
- */
- public void addNonPluginEntryModel(NonPluginEntryModel nonPluginEntry) {
- assertIsWriteable();
- if (this.nonPluginEntries == null)
- this.nonPluginEntries = new ArrayList();
- if (!this.nonPluginEntries.contains(nonPluginEntry))
- this.nonPluginEntries.add(nonPluginEntry);
- }
-
- /**
- * Removes an update site reference.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param discoverySiteInfo update site reference
- * @since 2.0
- */
- public void removeDiscoverySiteEntryModel(URLEntryModel discoverySiteInfo) {
- assertIsWriteable();
- if (this.discoverySiteInfo != null)
- this.discoverySiteInfo.remove(discoverySiteInfo);
- }
-
- /**
- * Removes a plug-in dependency entry.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param importEntry plug-in dependency entry
- * @since 2.0
- */
- public void removeImportModel(ImportModel importEntry) {
- assertIsWriteable();
- if (this.imports != null)
- this.imports.remove(importEntry);
- }
-
- /**
- * Removes a plug-in reference.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param pluginEntry plug-in reference
- * @since 2.0
- */
- public void removePluginEntryModel(PluginEntryModel pluginEntry) {
- assertIsWriteable();
- if (this.pluginEntries != null)
- this.pluginEntries.remove(pluginEntry);
- }
-
- /**
- * Removes a non-plug-in data reference.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param nonPluginEntry non-plug-in data reference
- * @since 2.0
- */
- public void removeNonPluginEntryModel(NonPluginEntryModel nonPluginEntry) {
- assertIsWriteable();
- if (this.nonPluginEntries != null)
- this.nonPluginEntries.remove(nonPluginEntry);
- }
-
- /**
- * Marks the model object as read-only.
- *
- * @since 2.0
- */
- public void markReadOnly() {
- super.markReadOnly();
- markReferenceReadOnly(getDescriptionModel());
- markReferenceReadOnly(getCopyrightModel());
- markReferenceReadOnly(getLicenseModel());
- markReferenceReadOnly(getUpdateSiteEntryModel());
- markListReferenceReadOnly(getDiscoverySiteEntryModels());
- markListReferenceReadOnly(getImportModels());
- markListReferenceReadOnly(getPluginEntryModels());
- markListReferenceReadOnly(getNonPluginEntryModels());
- }
-
- /**
- * Resolve the model object.
- * Any URL strings in the model are resolved relative to the
- * base URL argument. Any translatable strings in the model that are
- * specified as translation keys are localized using the supplied
- * resource bundle.
- *
- * @param base URL
- * @param bundle resource bundle
- * @exception MalformedURLException
- * @since 2.0
- */
- public void resolve(URL base, ResourceBundle bundle)
- throws MalformedURLException {
- // resolve local elements
- localizedLabel = resolveNLString(bundle, label);
- localizedProvider = resolveNLString(bundle, provider);
- imageURL = resolveURL(base, bundle, imageURLString);
-
- // delegate to references
- resolveReference(getDescriptionModel(), base, bundle);
- resolveReference(getCopyrightModel(), base, bundle);
- resolveReference(getLicenseModel(), base, bundle);
- resolveReference(getUpdateSiteEntryModel(), null, bundle);
- resolveListReference(getDiscoverySiteEntryModels(), null, bundle);
- resolveListReference(getImportModels(), base, bundle);
- resolveListReference(getPluginEntryModels(), base, bundle);
- resolveListReference(getNonPluginEntryModels(), base, bundle);
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureModelFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureModelFactory.java
deleted file mode 100644
index 9ce774b..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureModelFactory.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.update.core.Utilities;
-import org.xml.sax.SAXException;
-
-/**
- * Default feature model factory.
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead subclass the provided base implementation
- * of this factory.
- * </p>
- * @see org.eclipse.update.core.BaseFeatureFactory
- * @since 2.0
- */
-
-public class FeatureModelFactory {
-
- /**
- * Creates a default model factory.
- *
- * @since 2.0
- */
- public FeatureModelFactory() {
- super();
- }
-
- /**
- * Creates and populates a default feature from stream.
- * The parser assumes the stream contains a default feature manifest
- * (feature.xml) as documented by the platform.
- *
- * @param stream feature stream
- * @return populated feature model
- * @exception ParsingException
- * @exception IOException
- * @exception SAXException
- * @since 2.0
- */
- public FeatureModel parseFeature(InputStream stream)
- throws CoreException, SAXException {
- DefaultFeatureParser parser = new DefaultFeatureParser(this);
- FeatureModel featureModel = null;
- try {
- featureModel = parser.parse(stream);
- if (parser.getStatus().getChildren().length > 0) {
- // some internalError were detected
- IStatus status = parser.getStatus();
- throw new CoreException(status);
- }
- } catch (IOException e) {
- throw Utilities.newCoreException("Access Error", e);
- }
- return featureModel;
- }
-
- /**
- * Create a default feature model.
- *
- * @see FeatureModel
- * @return feature model
- * @since 2.0
- */
- public FeatureModel createFeatureModel() {
- return new FeatureModel();
- }
-
- /**
- * Create a default install handler model.
- *
- * @see InstallHandlerEntryModel
- * @return install handler entry model
- * @since 2.0
- */
- public InstallHandlerEntryModel createInstallHandlerEntryModel() {
- return new InstallHandlerEntryModel();
- }
-
- /**
- * Create a default import dependency model.
- *
- * @see ImportModel
- * @return import dependency model
- * @since 2.0
- */
- public ImportModel createImportModel() {
- return new ImportModel();
- }
-
- /**
- * Create a default plug-in entry model.
- *
- * @see PluginEntryModel
- * @return plug-in entry model
- * @since 2.0
- */
- public PluginEntryModel createPluginEntryModel() {
- return new PluginEntryModel();
- }
-
- /**
- * Create a default non-plug-in entry model.
- *
- * @see NonPluginEntryModel
- * @return non-plug-in entry model
- * @since 2.0
- */
- public NonPluginEntryModel createNonPluginEntryModel() {
- return new NonPluginEntryModel();
- }
-
- /**
- * Create a default annotated URL model.
- *
- * @see URLEntryModel
- * @return annotated URL model
- * @since 2.0
- */
- public URLEntryModel createURLEntryModel() {
- return new URLEntryModel();
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureReferenceModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureReferenceModel.java
deleted file mode 100644
index de74bee..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/FeatureReferenceModel.java
+++ /dev/null
@@ -1,212 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-/**
- * Feature reference model object.
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead instantiate or subclass the provided
- * concrete implementation of this model.
- * </p>
- * @see org.eclipse.update.core.FeatureReference
- * @since 2.0
- */
-public class FeatureReferenceModel extends ModelObject {
-
- private String type;
- private URL url;
- private String urlString;
- private SiteModel site;
- private List /* of String*/
- categoryNames;
-
- /**
- * Creates an uninitialized feature reference model object.
- *
- * @since 2.0
- */
- public FeatureReferenceModel() {
- super();
- }
-
- /**
- * Compares 2 feature reference models for equality
- *
- * @param object feature reference model to compare with
- * @return <code>true</code> if the two models are equal,
- * <code>false</code> otherwise
- * @since 2.0
- */
- public boolean equals(Object object) {
-
- if (object == null)
- return false;
- if (getURL() == null)
- return false;
-
- if (!(object instanceof FeatureReferenceModel))
- return false;
-
- FeatureReferenceModel f = (FeatureReferenceModel) object;
- return (getURL().equals(f.getURL()));
- }
-
- /**
- * Returns the referenced feature type.
- *
- * @return feature type, or <code>null</code> representing the default
- * feature type for the site
- * @since 2.0
- */
- public String getType() {
- return type;
- }
-
- /**
- * Returns the site model for the reference.
- *
- * @return site model
- * @since 2.0
- */
- public SiteModel getSiteModel() {
- return site;
- }
-
- /**
- * Returns the unresolved URL string for the reference.
- *
- * @return url string
- * @since 2.0
- */
- public String getURLString() {
- return urlString;
- }
-
- /**
- * Returns the resolved URL for the feature reference.
- *
- * @return url string
- * @since 2.0
- */
- public URL getURL() {
- return url;
- }
-
- /**
- * Returns the names of categories the referenced feature belongs to.
- *
- * @return an array of names, or an empty array.
- * @since 2.0
- */
- public String[] getCategoryNames() {
- if (categoryNames == null)
- return new String[0];
-
- return (String[]) categoryNames.toArray(new String[0]);
- }
-
- /**
- * Sets the referenced feature type.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param type referenced feature type
- * @since 2.0
- */
- public void setType(String type) {
- assertIsWriteable();
- this.type = type;
- }
-
- /**
- * Sets the site for the referenced.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param site site for the reference
- * @since 2.0
- */
- public void setSiteModel(SiteModel site) {
- assertIsWriteable();
- this.site = site;
- }
-
- /**
- * Sets the unresolved URL for the feature reference.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param urlString unresolved URL string
- * @since 2.0
- */
- public void setURLString(String urlString) {
- assertIsWriteable();
- this.urlString = urlString;
- this.url = null;
- }
-
- /**
- * Sets the names of categories this feature belongs to.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param categoryNames an array of category names
- * @since 2.0
- */
- public void setCategoryNames(String[] categoryNames) {
- assertIsWriteable();
- if (categoryNames == null)
- this.categoryNames = null;
- else
- this.categoryNames = new ArrayList(Arrays.asList(categoryNames));
- }
-
- /**
- * Adds the name of a category this feature belongs to.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param categoryName category name
- * @since 2.0
- */
- public void addCategoryName(String categoryName) {
- assertIsWriteable();
- if (this.categoryNames == null)
- this.categoryNames = new ArrayList();
- if (!this.categoryNames.contains(categoryName))
- this.categoryNames.add(categoryName);
- }
- /**
- * Removes the name of a categorys this feature belongs to.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param categoryName category name
- * @since 2.0
- */
- public void removeCategoryName(String categoryName) {
- assertIsWriteable();
- if (this.categoryNames != null)
- this.categoryNames.remove(categoryName);
- }
-
- /**
- * Resolve the model object.
- * Any URL strings in the model are resolved relative to the
- * base URL argument. Any translatable strings in the model that are
- * specified as translation keys are localized using the supplied
- * resource bundle.
- *
- * @param base URL
- * @param bundle resource bundle
- * @exception MalformedURLException
- * @since 2.0
- */
- public void resolve(URL base, ResourceBundle bundle)
- throws MalformedURLException {
- // resolve local elements
- url = resolveURL(base, bundle, urlString);
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ImportModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ImportModel.java
deleted file mode 100644
index c47cf04..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ImportModel.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-/**
- * Plug-in dependency model object.
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead instantiate or subclass the provided
- * concrete implementation of this model.
- * </p>
- * @see org.eclipse.update.core.Import
- * @since 2.0
- */
-public class ImportModel extends ModelObject {
-
- private String pluginId;
- private String pluginVersion;
- private String matchingRuleName;
-
- /**
- * Creates a uninitialized plug-in dependency model object.
- *
- * @since 2.0
- */
- public ImportModel() {
- super();
- }
-
- /**
- * Returns the dependent plug-in identifier.
- *
- * @return plug-in identifier, or <code>null</code>.
- * @since 2.0
- */
- public String getPluginIdentifier() {
- return pluginId;
- }
-
- /**
- * Returns the dependent plug-in version.
- *
- * @return plug-in version, or <code>null</code>.
- * @since 2.0
- */
- public String getPluginVersion() {
- return pluginVersion;
- }
-
- /**
- * Returns the dependent plug-in version matching rule name.
- *
- * @return matching rule name, or <code>null</code>.
- * @since 2.0
- */
- public String getMatchingRuleName() {
- return matchingRuleName;
- }
-
- /**
- * Sets the dependent plug-in identifier.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param pluginId dependent plug-in identifier
- * @since 2.0
- */
- public void setPluginIdentifier(String pluginId) {
- assertIsWriteable();
- this.pluginId = pluginId;
- }
-
- /**
- * Sets the dependent plug-in version.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param pluginVersion dependent plug-in version
- * @since 2.0
- */
- public void setPluginVersion(String pluginVersion) {
- assertIsWriteable();
- this.pluginVersion = pluginVersion;
- }
-
- /**
- * Sets the dependent plug-in version matching rule name.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param matchingRuleName dependent plug-in version matching rule.
- * @since 2.0
- */
- public void setMatchingRuleName(String matchingRuleName) {
- assertIsWriteable();
- this.matchingRuleName = matchingRuleName;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/InstallHandlerEntryModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/InstallHandlerEntryModel.java
deleted file mode 100644
index f85a127..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/InstallHandlerEntryModel.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ResourceBundle;
-
-/**
- * Install handler entry model object.
- * An object which represents the definition of a custom install handler
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead instantiate or subclass the provided
- * concrete implementation of this model.
- * </p>
- * @see org.eclipse.update.core.InstallHandlerEntry
- * @since 2.0
- */
-public class InstallHandlerEntryModel extends ModelObject {
-
- private String urlString;
- private URL url;
- private String library;
- private String name;
-
- /**
- * Creates a uninitialized install handler entry model object.
- *
- * @since 2.0
- */
- public InstallHandlerEntryModel() {
- super();
- }
-
- /**
- * Returns the URL string used for browser-triggered installation handling.
- *
- * @return url string or <code>null</code>
- * @since 2.0
- */
- public String getURLString() {
- return urlString;
- }
-
- /**
- * Returns the resolved URL used for browser-triggered installation handling.
- *
- * @return url, or <code>null</code>
- * @since 2.0
- */
- public URL getURL() {
- return url;
- }
-
- /**
- * Returns the name of the custom installer library.
- *
- * @return library path, or <code>null</code>
- * @since 2.0
- */
- public String getLibrary() {
- return library;
- }
-
- /**
- * Returns the name of the custom installer.
- *
- * @return handler name, or <code>null</code>
- * @since 2.0
- */
- public String getHandlerName() {
- return name;
- }
-
- /**
- * Sets URL string used for browser-triggered installation handling.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param urlString trigget page URL string, may be <code>null</code>.
- * @since 2.0
- */
- public void setURLString(String urlString) {
- assertIsWriteable();
- this.urlString = urlString;
- this.url = null;
- }
-
- /**
- * Sets the custom install handler library name.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param library name, may be <code>null</code>.
- * @since 2.0
- */
- public void setLibrary(String library) {
- assertIsWriteable();
- this.library = library;
- }
-
- /**
- * Sets the name of the custom install handler.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param name name of the install handler, may be <code>null</code>.
- * @since 2.0
- */
- public void setHandlerName(String name) {
- assertIsWriteable();
- this.name = name;
- }
-
- /**
- * Resolve the model object.
- * Any URL strings in the model are resolved relative to the
- * base URL argument. Any translatable strings in the model that are
- * specified as translation keys are localized using the supplied
- * resource bundle.
- *
- * @param base URL
- * @param bundle resource bundle
- * @exception MalformedURLException
- * @since 2.0
- */
- public void resolve(URL base, ResourceBundle bundle)
- throws MalformedURLException {
- // resolve local elements
- url = resolveURL(base, bundle, urlString);
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/InvalidSiteTypeException.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/InvalidSiteTypeException.java
deleted file mode 100644
index ff6ad01..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/InvalidSiteTypeException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-/**
- * Exception thrown when the type of the site discovered in the site manifest
- * does not correspond to the type expected by the concrete site factory.
- *
- * @see org.eclipse.update.core.model.SiteModelFactory#canParseSiteType(String)
- * @since 2.0
- */
-
-public class InvalidSiteTypeException extends Exception {
-
- private String newSiteType;
-
- /**
- * Construct the exception indicating the detected site type
- *
- * @since 2.0
- */
- public InvalidSiteTypeException(String newType) {
- super();
- newSiteType = newType;
- }
-
- /**
- * Returns the site type detected in the parsed site manifest
- *
- * @return site type
- * @since 2.0
- */
- public String getNewType() {
- return newSiteType;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ModelObject.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ModelObject.java
deleted file mode 100644
index e7dba06..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/ModelObject.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.lang.reflect.Array;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.update.internal.core.Assert;
-import org.eclipse.update.internal.core.Policy;
-
-/**
- * Root model object. Extended by all model objects.
- * <p>
- * This class cannot be instantiated and must be subclassed.
- * </p>
- */
-public abstract class ModelObject extends PlatformObject {
-
- private boolean readOnly = false;
-
- private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
- private static final String KEY_DOUBLE_PREFIX = KEY_PREFIX + KEY_PREFIX;
-
- /**
- * Creates a base model object.
- *
- * @since 2.0
- */
- protected ModelObject() {
- }
-
- /**
- * Checks that this model object is writeable. A runtime exception
- * is thrown if it is not.
- *
- * @since 2.0
- */
- protected final void assertIsWriteable() {
- Assert.isTrue(!isReadOnly(), Policy.bind("ModelObject.ModelReadOnly"));
- //$NON-NLS-1$
- }
-
- /**
- * Sets this model object and all of its descendents to be read-only.
- * Subclasses may extend this implementation.
- *
- * @see #isReadOnly
- * @since 2.0
- */
- public void markReadOnly() {
- readOnly = true;
- }
-
- /**
- * Returns whether or not this model object is read-only.
- *
- * @return <code>true</code> if this model object is read-only,
- * <code>false</code> otherwise
- * @see #markReadOnly
- * @since 2.0
- */
- public boolean isReadOnly() {
- return readOnly;
- }
-
- /**
- * Delegate setting of read-only
- *
- * @param o object to delegate to. Must be of type ModelObject.
- * @see #isReadOnly
- * @since 2.0
- */
- protected void markReferenceReadOnly(ModelObject o) {
- if (o == null)
- return;
- o.markReadOnly();
- }
-
- /**
- * Delegate setting of read-only
- *
- * @param o object array to delegate to. Each element must be of type ModelObject.
- * @see #isReadOnly
- * @since 2.0
- */
- protected void markListReferenceReadOnly(ModelObject[] o) {
- if (o == null)
- return;
- for (int i = 0; i < o.length; i++) {
- o[i].markReadOnly();
- }
- }
-
- /**
- * Resolve the model element. This method allows any relative URL strings
- * to be resolved to actual URL. It also allows any translatable strings
- * to be localized.
- *
- * Subclasses need to override this method to perform the actual resolution.
- * @param base base URL.
- * @param bundle resource bundle.
- * @exception MalformedURLException
- * @since 2.0
- */
- public void resolve(URL base, ResourceBundle bundle)
- throws MalformedURLException {
- return;
- }
-
- /**
- * Delegate resolution to referenced model
- *
- * @param o object to delegate to. Must be of type ModelObject.
- * @param base base URL.
- * @param bundle resource bundle.
- * @exception MalformedURLException
- * @since 2.0
- */
- protected void resolveReference(ModelObject o, URL url, ResourceBundle bundle)
- throws MalformedURLException {
- if (o == null)
- return;
- o.resolve(url, bundle);
- }
-
- /**
- * Delegate resolution to list of referenced models
- *
- * @param o object array to delegate to. Each element must be of type ModelObject.
- * @param base base URL.
- * @param bundle resource bundle.
- * @exception MalformedURLException
- * @since 2.0
- */
- protected void resolveListReference(
- ModelObject[] o,
- URL url,
- ResourceBundle bundle)
- throws MalformedURLException {
- if (o == null)
- return;
- for (int i = 0; i < o.length; i++) {
- o[i].resolve(url, bundle);
- }
- }
-
- /**
- * Resolve a URL based on context
- *
- * @param base base URL.
- * @param bundle resource bundle.
- * @param urlString url string from model.
- * @return URL, or <code>null</code>.
- * @exception MalformedURLException
- * @since 2.0
- */
- protected URL resolveURL(URL context, ResourceBundle bundle, String urlString)
- throws MalformedURLException {
-
- // URL string was not specified
- if (urlString == null || urlString.trim().equals("")) //$NON-NLS-1$
- return null;
-
- // check to see if we have NL-sensitive URL
- String resolvedUrlString = resolveNLString(bundle, urlString);
-
- // if we don't have a base url, use only the supplied string
- if (context == null)
- return new URL(resolvedUrlString);
-
- // otherwise return new URL in context of base URL
- return new URL(context, resolvedUrlString);
- }
-
- /**
- * Returns a resource string corresponding to the given argument
- * value and bundle.
- * If the argument value specifies a resource key, the string
- * is looked up in the given resource bundle. If the argument does not
- * specify a valid key, the argument itself is returned as the
- * resource string. The key lookup is performed against the
- * specified resource bundle. If a resource string
- * corresponding to the key is not found in the resource bundle
- * the key value, or any default text following the key in the
- * argument value is returned as the resource string.
- * A key is identified as a string begining with the "%" character.
- * Note that the "%" character is stripped off prior to lookup
- * in the resource bundle.
- * <p>
- * For example, assume resource bundle plugin.properties contains
- * name = Project Name
- * <pre>
- * resolveNLString(b,"Hello World") returns "Hello World"</li>
- * resolveNLString(b,"%name") returns "Project Name"</li>
- * resolveNLString(b,"%name Hello World") returns "Project Name"</li>
- * resolveNLString(b,"%abcd Hello World") returns "Hello World"</li>
- * resolveNLString(b,"%abcd") returns "%abcd"</li>
- * resolveNLString(b,"%%name") returns "%name"</li>
- * </pre>
- * </p>
- *
- * @param bundle resource bundle.
- * @param s translatable string from model
- * @return string, or <code>null</code>
- * @since 2.0
- */
- protected String resolveNLString(ResourceBundle b, String string) {
-
- if (string == null)
- return null;
-
- String s = string.trim();
-
- if (s.equals("")) //$NON-NLS-1$
- return string;
-
- if (!s.startsWith(KEY_PREFIX))
- return string;
-
- if (s.startsWith(KEY_DOUBLE_PREFIX))
- return s.substring(1);
-
- int ix = s.indexOf(" "); //$NON-NLS-1$
- String key = ix == -1 ? s : s.substring(0, ix);
- String dflt = ix == -1 ? s : s.substring(ix + 1);
-
- if (b == null)
- return dflt;
-
- try {
- return b.getString(key.substring(1));
- } catch (MissingResourceException e) {
- return dflt;
- }
- }
-
- /**
- * Returns a concrete array type for the elements of the specified
- * list. The method assumes all the elements of the list are the same
- * concrete type as the first element in the list.
- *
- * @param l list
- * @return concrete array type, or <code>null</code> if the array type
- * could not be determined (the list is <code>null</code> or empty)
- * @since 2.0
- */
- protected Object[] arrayTypeFor(List l) {
- if (l == null || l.size() == 0)
- return null;
- return (Object[]) Array.newInstance(l.get(0).getClass(), 0);
- }
-
- /**
- * Returns a concrete array type for the elements of the specified
- * set. The method assumes all the elements of the set are the same
- * concrete type as the first element in the set.
- *
- * @param s set
- * @return concrete array type, or <code>null</code> if the array type
- * could not be determined (the set is <code>null</code> or empty)
- * @since 2.0
- */
- protected Object[] arrayTypeFor(Set s) {
- if (s == null || s.size() == 0)
- return null;
- Iterator i = s.iterator();
- return (Object[]) Array.newInstance(i.next().getClass(), 0);
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/NonPluginEntryModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/NonPluginEntryModel.java
deleted file mode 100644
index bdcfd0d..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/NonPluginEntryModel.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-/**
- * Non-plug-in entry model object.
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead instantiate or subclass the provided
- * concrete implementation of this model.
- * </p>
- * @see org.eclipse.update.core.NonPluginEntry
- * @since 2.0
- */
-public class NonPluginEntryModel extends ContentEntryModel {
-
- private String id = null;
-
- /**
- * Creates a uninitialized non-plug-in entry model object.
- *
- * @since 2.0
- */
- public NonPluginEntryModel() {
- super();
- }
-
- /**
- * Returns the entry identifier.
- *
- * @return entry identifier, or <code>null</code>
- * @since 2.0
- */
- public String getIdentifier() {
- return id;
- }
-
- /**
- * Sets the entry identifier.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param id entry identifier.
- * @since 2.0
- */
- public void setIdentifier(String id) {
- assertIsWriteable();
- this.id = id;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/PluginEntryModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/PluginEntryModel.java
deleted file mode 100644
index 7b978fc..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/PluginEntryModel.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-/**
- * Plug-in entry model object.
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead instantiate or subclass the provided
- * concrete implementation of this model.
- * </p>
- * @see org.eclipse.update.core.PluginEntry
- * @since 2.0
- */
-public class PluginEntryModel extends ContentEntryModel {
-
- private String pluginId;
- private String pluginVersion;
- private boolean isFragment = false;
-
- /**
- * Creates a uninitialized plug-in entry model object.
- *
- * @since 2.0
- */
- public PluginEntryModel() {
- super();
- }
-
- /**
- * Compares two plug-in models for equality
- *
- * @param obj other model to compare to
- * @return <code>true</code> if the models are equal, <code>false</code> otherwise
- * @since 2.0
- */
- public boolean equals(Object obj) {
- if (!(obj instanceof PluginEntryModel))
- return false;
- PluginEntryModel model = (PluginEntryModel) obj;
- return (
- (getPluginIdentifier().equals(model.getPluginIdentifier()))
- && (getPluginVersion().equals(model.getPluginVersion()))
- && (isFragment() == model.isFragment()));
- }
-
- /**
- * Returns the plug-in identifier for this entry.
- *
- * @return the plug-in identifier, or <code>null</code>
- * @since 2.0
- */
- public String getPluginIdentifier() {
- return pluginId;
- }
-
- /**
- * Returns the plug-in version for this entry.
- *
- * @return the plug-in version, or <code>null</code>
- * @since 2.0
- */
- public String getPluginVersion() {
- return pluginVersion;
- }
-
- /**
- * Indicates whether the entry describes a full plug-in, or
- * a plug-in fragment.
- *
- * @return <code>true</code> if the entry is a plug-in fragment,
- * <code>false</code> if the entry is a plug-in
- * @since 2.0
- */
- public boolean isFragment() {
- return isFragment;
- }
-
- /**
- * Sets the entry plug-in identifier.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param pluginId the entry identifier.
- * @since 2.0
- */
- public void setPluginIdentifier(String pluginId) {
- assertIsWriteable();
- this.pluginId = pluginId;
- }
-
- /**
- * Sets the entry plug-in version.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param pluginVersion the entry version.
- * @since 2.0
- */
- public void setPluginVersion(String pluginVersion) {
- assertIsWriteable();
- this.pluginVersion = pluginVersion;
- }
-
- /**
- * Indicates whether this entry represents a fragment or plug-in.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param isFragment fragment setting
- * @since 2.0
- */
- public void isFragment(boolean isFragment) {
- assertIsWriteable();
- this.isFragment = isFragment;
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/SiteModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/SiteModel.java
deleted file mode 100644
index 7a071af..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/SiteModel.java
+++ /dev/null
@@ -1,333 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-/**
- * Site model object.
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead instantiate or subclass the provided
- * concrete implementation of this model.
- * </p>
- * @see org.eclipse.update.core.Site
- * @since 2.0
- */
-public class SiteModel extends ModelObject {
-
- private String type;
- private URLEntryModel description;
- private List /*of FeatureReferenceModel*/
- featureReferences;
- private List /*of ArchiveReferenceModel*/
- archiveReferences;
- private Set /*of CategoryModel*/
- categories;
- private String locationURLString;
- private URL locationURL;
-
- /**
- * Creates an uninitialized site model object.
- *
- * @since 2.0
- */
- public SiteModel() {
- super();
- }
-
- /**
- * Returns the site type.
- *
- * @return site type, or <code>null</code>.
- * @since 2.0
- */
- public String getType() {
- return type;
- }
-
- /**
- * Returns the site description.
- *
- * @return site description, or <code>null</code>.
- * @since 2.0
- */
- public URLEntryModel getDescriptionModel() {
- return description;
- }
-
- /**
- * Returns an array of feature reference models on this site.
- *
- * @return an array of feature reference models, or an empty array.
- * @since 2.0
- */
- public FeatureReferenceModel[] getFeatureReferenceModels() {
- if (featureReferences == null)
- return new FeatureReferenceModel[0];
-
- return (FeatureReferenceModel[]) featureReferences.toArray(
- arrayTypeFor(featureReferences));
- }
-
- /**
- * Returns an array of plug-in and non-plug-in archive reference models
- * on this site
- *
- * @return an array of archive reference models, or an empty array if there are
- * no archives known to this site.
- * @since 2.0
- */
- public ArchiveReferenceModel[] getArchiveReferenceModels() {
- if (archiveReferences == null)
- return new ArchiveReferenceModel[0];
-
- return (ArchiveReferenceModel[]) archiveReferences.toArray(
- arrayTypeFor(archiveReferences));
- }
-
- /**
- * Returns an array of category models for this site.
- *
- * @return array of site category models, or an empty array.
- * @since 2.0
- */
- public CategoryModel[] getCategoryModels() {
- if (categories == null)
- return new CategoryModel[0];
-
- return (CategoryModel[]) categories.toArray(arrayTypeFor(categories));
- }
-
- /**
- * Returns the unresolved URL string for the site.
- *
- * @return url string, or <code>null</code>
- * @since 2.0
- */
- public String getLocationURLString() {
- return locationURLString;
- }
-
- /**
- * Returns the resolved URL for the site.
- *
- * @return url, or <code>null</code>
- * @since 2.0
- */
- public URL getLocationURL() {
- return locationURL;
- }
-
- /**
- * Sets the site type.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param type site type
- * @since 2.0
- */
- public void setType(String type) {
- assertIsWriteable();
- this.type = type;
- }
-
- /**
- * Sets the site description.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param description site description
- * @since 2.0
- */
- public void setDescriptionModel(URLEntryModel description) {
- assertIsWriteable();
- this.description = description;
- }
-
- /**
- * Sets the feature references for this site.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param featureReferences an array of feature reference models
- * @since 2.0
- */
- public void setFeatureReferenceModels(FeatureReferenceModel[] featureReferences) {
- assertIsWriteable();
- if (featureReferences == null)
- this.featureReferences = null;
- else
- this.featureReferences = new ArrayList(Arrays.asList(featureReferences));
- }
-
- /**
- * Sets the archive references for this site.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param archiveReferences an array of archive reference models
- * @since 2.0
- */
- public void setArchiveReferenceModels(ArchiveReferenceModel[] archiveReferences) {
- assertIsWriteable();
- if (archiveReferences == null)
- this.archiveReferences = null;
- else
- this.archiveReferences = new ArrayList(Arrays.asList(archiveReferences));
- }
-
- /**
- * Sets the site categories.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param categories an array of category models
- * @since 2.0
- */
- public void setCategoryModels(CategoryModel[] categories) {
- assertIsWriteable();
- if (categories == null)
- this.categories = null;
- else {
- this.categories = new TreeSet(CategoryModel.getComparator());
- this.categories.addAll(Arrays.asList(categories));
- }
- }
-
- /**
- * Sets the unresolved URL for the site.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param locationURLString url for the site (as a string)
- * @since 2.0
- */
- public void setLocationURLString(String locationURLString) {
- assertIsWriteable();
- this.locationURLString = locationURLString;
- }
-
- /**
- * Adds a feature reference model to site.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param featureReference feature reference model
- * @since 2.0
- */
- public void addFeatureReferenceModel(FeatureReferenceModel featureReference) {
- assertIsWriteable();
- if (this.featureReferences == null)
- this.featureReferences = new ArrayList();
- if (!this.featureReferences.contains(featureReference))
- this.featureReferences.add(featureReference);
- }
-
- /**
- * Adds an archive reference model to site.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param archiveReference archive reference model
- * @since 2.0
- */
- public void addArchiveReferenceModel(ArchiveReferenceModel archiveReference) {
- assertIsWriteable();
- if (this.archiveReferences == null)
- this.archiveReferences = new ArrayList();
- if (!this.archiveReferences.contains(archiveReference))
- this.archiveReferences.add(archiveReference);
- }
-
- /**
- * Adds a category model to site.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param category category model
- * @since 2.0
- */
- public void addCategoryModel(CategoryModel category) {
- assertIsWriteable();
- if (this.categories == null)
- this.categories = new TreeSet(CategoryModel.getComparator());
- if (!this.categories.contains(category))
- this.categories.add(category);
- }
-
- /**
- * Removes a feature reference model from site.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param featureReference feature reference model
- * @since 2.0
- */
- public void removeFeatureReferenceModel(FeatureReferenceModel featureReference) {
- assertIsWriteable();
- if (this.featureReferences != null)
- this.featureReferences.remove(featureReference);
- }
-
- /**
- * Removes an archive reference model from site.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param archiveReference archive reference model
- * @since 2.0
- */
- public void removeArchiveReferenceModel(ArchiveReferenceModel archiveReference) {
- assertIsWriteable();
- if (this.archiveReferences != null)
- this.archiveReferences.remove(archiveReference);
- }
-
- /**
- * Removes a category model from site.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param category category model
- * @since 2.0
- */
- public void removeCategoryModel(CategoryModel category) {
- assertIsWriteable();
- if (this.categories != null)
- this.categories.remove(category);
- }
-
- /**
- * Marks the model object as read-only.
- *
- * @since 2.0
- */
- public void markReadOnly() {
- super.markReadOnly();
- markReferenceReadOnly(getDescriptionModel());
- markListReferenceReadOnly(getFeatureReferenceModels());
- markListReferenceReadOnly(getArchiveReferenceModels());
- markListReferenceReadOnly(getCategoryModels());
- }
-
- /**
- * Resolve the model object.
- * Any URL strings in the model are resolved relative to the
- * base URL argument. Any translatable strings in the model that are
- * specified as translation keys are localized using the supplied
- * resource bundle.
- *
- * @param base URL
- * @param bundle resource bundle
- * @exception MalformedURLException
- * @since 2.0
- */
- public void resolve(URL base, ResourceBundle bundle)
- throws MalformedURLException {
-
- // Archives and feature are relative to location URL is teh Site element had
- // a URL tag: see spec
- locationURL = resolveURL(base, bundle, getLocationURLString());
- if (locationURL == null)
- locationURL = base;
- resolveListReference(getFeatureReferenceModels(), locationURL, bundle);
- resolveListReference(getArchiveReferenceModels(), locationURL, bundle);
-
- resolveReference(getDescriptionModel(), base, bundle);
- resolveListReference(getCategoryModels(), base, bundle);
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/SiteModelFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/SiteModelFactory.java
deleted file mode 100644
index d665895..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/SiteModelFactory.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.update.core.Utilities;
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-import org.xml.sax.SAXException;
-
-/**
- * Default site model factory.
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead subclass the provided base implementation
- * of this factory.
- * </p>
- * @see org.eclipse.update.core.BaseSiteFactory
- * @since 2.0
- */
-public class SiteModelFactory {
-
- /**
- * Creates a default site factory.
- *
- * @since 2.0
- */
- public SiteModelFactory() {
- super();
- }
-
- /**
- * Indicates whether this factory can handle the specified site type. This
- * method is intended to be overridden by subclasses.
- *
- * @param type site type identifier
- * @return <code>true</code> if the type can be handled, otherwise <code>false</code>
- * @since 2.0
- */
- public boolean canParseSiteType(String type) {
- // return true if type was not specified (ie. is null or empty string)
- return (type == null || type.trim().equals("")); //$NON-NLS-1$
- }
-
- /**
- * Creates and populates a default site from stream.
- * The parser assumes the stream contains a default site manifest
- * (site.xml) as documented by the platform.
- *
- * @param stream site stream
- * @return populated site model
- * @exception ParsingException
- * @exception IOException
- * @exception SAXException
- * @since 2.0
- */
- public SiteModel parseSite(InputStream stream)
- throws CoreException, InvalidSiteTypeException {
- SiteModel result = null;
- try {
- DefaultSiteParser parser = new DefaultSiteParser(this);
- result = parser.parse(stream);
- if (parser.getStatus().getChildren().length > 0) {
- // some internalError were detected
- IStatus status = parser.getStatus();
- throw new CoreException(status);
- }
- } catch (SAXException e) {
- if (e instanceof SAXException) {
- SAXException exception = (SAXException) e;
- // invalid Site type
- if (exception.getException() instanceof InvalidSiteTypeException) {
- throw (InvalidSiteTypeException) exception.getException();
- }
- }
-
- throw Utilities.newCoreException("Parsing Error",e);
- } catch (IOException e){
- throw Utilities.newCoreException("Access Error",e);
- }
- return result;
- }
-
- /**
- * Create a default site model.
- *
- * @see SiteModel
- * @return site model
- * @since 2.0
- */
- public SiteModel createSiteMapModel() {
- return new SiteModel();
- }
-
- /**
- * Create a default feature reference model.
- *
- * @see FeatureReferenceModel
- * @return feature reference model
- * @since 2.0
- */
- public FeatureReferenceModel createFeatureReferenceModel() {
- return new FeatureReferenceModel();
- }
-
- /**
- * Create a default archive reference model.
- *
- * @see ArchiveReferenceModel
- * @return archive reference model
- * @since 2.0
- */
- public ArchiveReferenceModel createArchiveReferenceModel() {
- return new ArchiveReferenceModel();
- }
-
- /**
- * Create a default annotated URL model.
- *
- * @see URLEntryModel
- * @return annotated URL model
- * @since 2.0
- */
- public URLEntryModel createURLEntryModel() {
- return new URLEntryModel();
- }
-
- /**
- * Create a default category model.
- *
- * @see CategoryModel
- * @return category model
- * @since 2.0
- */
- public CategoryModel createSiteCategoryModel() {
- return new CategoryModel();
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/URLEntryModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/URLEntryModel.java
deleted file mode 100644
index 81f2095..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/URLEntryModel.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package org.eclipse.update.core.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ResourceBundle;
-
-/**
- * Annotated URL model object.
- * <p>
- * This class may be instantiated or subclassed by clients. However, in most
- * cases clients should instead instantiate or subclass the provided
- * concrete implementation of this model.
- * </p>
- * @see org.eclipse.update.core.URLEntry
- * @since 2.0
- */
-
-public class URLEntryModel extends ModelObject {
-
- private String annotation;
- private String localizedAnnotation;
- private String urlString;
- private URL url;
-
- /**
- * Creates a uninitialized annotated URL model object.
- *
- * @since 2.0
- */
- public URLEntryModel() {
- super();
- }
-
- /**
- * Returns the url annotation. If the model object has been resolved,
- * the annotation is localized.
- *
- * @return url annotation, or <code>null</code>.
- * @since 2.0
- */
- public String getAnnotation() {
- if (localizedAnnotation != null)
- return localizedAnnotation;
- else
- return annotation;
- }
-
- /**
- * returns the non-localized url annotation.
- *
- * @return non-localized url annotation, or <code>null</code>.
- * @since 2.0
- */
- public String getAnnotationNonLocalized() {
- return annotation;
- }
-
- /**
- * Returns the unresolved url string.
- *
- * @return url string, or <code>null</code>
- * @since 2.0
- */
- public String getURLString() {
- return urlString;
- }
-
- /**
- * Returns the resolved URL.
- *
- * @return url, or <code>null</code>
- * @since 2.0
- */
- public URL getURL() {
- return url;
- }
-
- /**
- * Sets the annotation.
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param annotation annotation
- * @since 2.0
- */
- public void setAnnotation(String annotation) {
- assertIsWriteable();
- this.annotation = annotation;
- this.localizedAnnotation = null;
- }
-
- /**
- * Sets the url string
- * Throws a runtime exception if this object is marked read-only.
- *
- * @param url url string
- * @since 2.0
- */
- public void setURLString(String urlString) {
- assertIsWriteable();
- this.urlString = urlString;
- this.url = null;
- }
-
- /**
- * Resolve the model object.
- * Any URL strings in the model are resolved relative to the
- * base URL argument. Any translatable strings in the model that are
- * specified as translation keys are localized using the supplied
- * resource bundle.
- *
- * @param base URL
- * @param bundle resource bundle
- * @exception MalformedURLException
- * @since 2.0
- */
- public void resolve(URL base, ResourceBundle bundle) throws MalformedURLException {
- // resolve local elements
- localizedAnnotation = resolveNLString(bundle, annotation);
- url = resolveURL(base, bundle, urlString);
- }
-}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/package.html b/update/org.eclipse.update.core/src/org/eclipse/update/core/model/package.html
deleted file mode 100644
index c8a665d..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/model/package.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="Author" content="IBM">
- <meta name="GENERATOR" content="Mozilla/4.72 [en] (Windows NT 5.0; U) [Netscape]">
- <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides model support for extending the base installation
-and update services.
-<h2>
-Package Specification</h2>
-This package provides a convenience implementation of the default model
-objects and parsers used for writing pluggable support of alternate feature
-packaging schemes and update site access mechanisms. In general, most developers
-do not need to directly use the classes defined in this package. Instead,
-they can use the corresponding derived implementation classes contained
-in package <b>org.eclipse.update.core</b>.
-<p>Classes in this package would typically only be used directly when writing
-and alternate set of model objects for a feature and type implementation.
-</body>
-</html>
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/package.html b/update/org.eclipse.update.core/src/org/eclipse/update/core/package.html
deleted file mode 100644
index 6c41140..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/package.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="Author" content="IBM">
- <meta name="GENERATOR" content="Mozilla/4.72 [en] (Windows NT 5.0; U) [Netscape]">
- <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides support for extending the base installation
-and update services.
-<h2>
-Package Specification</h2>
-This package specifies the API required for writing pluggable support of
-alternate feature packaging schemes and update site access mechanisms.
-For the most part, the classes and interfaces in this package implement
-a code pattern <tt>class Foo extends FooModel implements IFoo</tt>. The
-interface (<tt>IFoo</tt> in the pattern) defines the actual API. The convenience
-classes (<tt>Foo</tt> in the pattern) provide a reference implementation
-of the API based on a model (<tt>IFooModel</tt> in the pattern) contained
-in package <b>org.eclipse.update.core.model</b>. In general, developers
-should extend the convenience classes rather than completely reimplementing
-the specified interfaces.
-</body>
-</html>
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/BaseSiteLocalFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/BaseSiteLocalFactory.java
deleted file mode 100644
index cdd0d5e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/BaseSiteLocalFactory.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import org.eclipse.update.configuration.IConfiguredSite;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.model.*;
-import org.eclipse.update.internal.model.ConfigurationActivityModel;
-import org.eclipse.update.internal.model.InstallConfigurationModel;
-/**
- *
- */
-public class BaseSiteLocalFactory {
- /*
- *
- */
- public InstallConfigurationModel createInstallConfigurationModel() {
- return new InstallConfiguration();
- }
- /*
- *
- */
- public ConfigurationActivityModel createConfigurationAcivityModel() {
- return new ConfigurationActivity();
- }
- /*
- *
- */
- public ConfiguredSiteModel createConfigurationSiteModel() {
- return new ConfiguredSite();
- }
- /*
- *
- */
- public ConfigurationPolicyModel createConfigurationPolicyModel() {
- return new ConfigurationPolicy();
- }
- /**
- *
- */
- public ConfiguredSiteModel createConfigurationSiteModel(
- SiteModel site,
- int policy) {
- //create config site
- ConfiguredSiteModel configSite= this.createConfigurationSiteModel();
- configSite.setSiteModel(site);
- ConfigurationPolicyModel policyModel= this.createConfigurationPolicyModel();
- policyModel.setPolicy(policy);
- configSite.setConfigurationPolicyModel(policyModel);
- ((ConfigurationPolicy) policyModel).setConfiguredSite((IConfiguredSite)configSite);
- return configSite;
- }
-}
\ No newline at end of file
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 c7bf3b4..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationActivity.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.PrintWriter;
-import org.eclipse.update.configuration.IActivity;
-import org.eclipse.update.configuration.IInstallConfiguration;
-import org.eclipse.update.internal.model.ConfigurationActivityModel;
-import org.eclipse.update.internal.model.InstallConfigurationParser;
-public class ConfigurationActivity
- extends ConfigurationActivityModel
- implements IActivity, IWritable {
-
- /**
- * Default constructor
- */
- public ConfigurationActivity() {
- }
-
- /**
- * Constructor with action
- */
- public ConfigurationActivity(int action) {
- super();
- setAction(action);
- setStatus(STATUS_NOK);
- }
-
- /*
- * @see IWritable#write(int, PrintWriter)
- */
- public void write(int indent, PrintWriter w) {
- String gap= ""; //$NON-NLS-1$
- for (int i= 0; i < indent; i++)
- gap += " "; //$NON-NLS-1$
- String increment= ""; //$NON-NLS-1$
- for (int i= 0; i < IWritable.INDENT; i++)
- increment += " "; //$NON-NLS-1$
- w.print(gap + "<" + InstallConfigurationParser.ACTIVITY + " ");
- //$NON-NLS-1$ //$NON-NLS-2$
- w.println("action=\"" + getAction() + "\" "); //$NON-NLS-1$ //$NON-NLS-2$
- if (getLabel() != null) {
- w.println(gap + "label=\"" + Writer.xmlSafe(getLabel()) + "\" ");
- //$NON-NLS-1$ //$NON-NLS-2$
- }
- w.println("date=\"" + getDate().getTime() + "\" ");
- //$NON-NLS-1$ //$NON-NLS-2$
- w.print("status=\"" + getStatus() + "\""); //$NON-NLS-1$ //$NON-NLS-2$
- w.println(">"); //$NON-NLS-1$
- w.println(""); //$NON-NLS-1$
- // end
- w.println(gap + "</" + InstallConfigurationParser.ACTIVITY + ">");
- //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /*
- * @see IActivity#getInstallConfiguration()
- */
- public IInstallConfiguration getInstallConfiguration() {
- return (IInstallConfiguration) getInstallConfigurationModel();
- }
-}
\ No newline at end of file
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 0e8321c..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfigurationPolicy.java
+++ /dev/null
@@ -1,394 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.boot.IPlatformConfiguration;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.configuration.IActivity;
-import org.eclipse.update.configuration.IConfiguredSite;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.FeatureReferenceModel;
-import org.eclipse.update.internal.model.ConfigurationActivityModel;
-import org.eclipse.update.internal.model.ConfigurationPolicyModel;
-
-/**
- *
- */
-public class ConfigurationPolicy extends ConfigurationPolicyModel {
-
- private IConfiguredSite configuredSite;
-
- /**
- * Constructor for ConfigurationPolicyModel.
- */
- public ConfigurationPolicy() {
- }
-
- /**
- * Copy Constructor for ConfigurationPolicyModel.
- */
- public ConfigurationPolicy(ConfigurationPolicy configPolicy) {
- super();
- setPolicy(configPolicy.getPolicy());
- setConfiguredFeatureReferences(configPolicy.getConfiguredFeatures());
- setUnconfiguredFeatureReferences(configPolicy.getUnconfiguredFeatures());
- setConfiguredSite(configPolicy.getConfiguredSite());
- }
-
- /**
- * @since 2.0
- */
- public boolean isConfigured(IFeatureReference feature) {
- return super.isConfigured((FeatureReferenceModel) feature);
- }
-
- /**
- * adds the feature to the list of features if the policy is USER_INCLUDE
- */
- public void configure(
- IFeatureReference featureReference,
- boolean callInstallHandler)
- throws CoreException {
-
- if (featureReference == null)
- return;
- IFeature feature = featureReference.getFeature();
- if (feature == null)
- return;
-
- // Setup optional install handler
- InstallHandlerProxy handler = null;
- if (callInstallHandler)
- handler =
- new InstallHandlerProxy(
- IInstallHandler.HANDLER_ACTION_CONFIGURE,
- feature,
- feature.getInstallHandlerEntry(),
- null);
- boolean success = false;
- Throwable originalException = null;
-
- // do the configure action
- try {
- if (handler != null)
- handler.configureInitiated();
-
- ConfigurationActivity activity =
- new ConfigurationActivity(IActivity.ACTION_CONFIGURE);
- activity.setLabel(feature.getVersionedIdentifier().toString());
- activity.setDate(new Date());
-
- addConfiguredFeatureReference((FeatureReferenceModel) featureReference);
-
- // everything done ok
- activity.setStatus(IActivity.STATUS_OK);
- (
- (InstallConfiguration) SiteManager
- .getLocalSite()
- .getCurrentConfiguration())
- .addActivityModel(
- (ConfigurationActivityModel) activity);
-
- if (handler != null)
- handler.completeConfigure();
-
- success = true;
- } catch (Throwable t) {
- originalException = t;
- } finally {
- Throwable newException = null;
- try {
- if (handler != null)
- handler.configureCompleted(success);
- } catch (Throwable t) {
- newException = t;
- }
- if (originalException != null) // original exception wins
- throw UpdateManagerUtils.newCoreException(
- Policy.bind("InstallHandler.error", feature.getLabel()),
- originalException);
- if (newException != null)
- throw UpdateManagerUtils.newCoreException(
- Policy.bind("InstallHandler.error", feature.getLabel()),
- newException);
- }
- }
-
- /**
- * check if the plugins to unconfigure are required by other configured feature and
- * adds teh feature to teh list of features if the policy is USER_EXCLUDE
- */
- public boolean unconfigure(IFeatureReference featureReference)
- throws CoreException {
-
- if (featureReference == null)
- return false;
- IFeature feature = featureReference.getFeature();
- if (feature == null)
- return false;
-
- // Setup optional install handler
- InstallHandlerProxy handler =
- new InstallHandlerProxy(
- IInstallHandler.HANDLER_ACTION_UNCONFIGURE,
- feature,
- feature.getInstallHandlerEntry(),
- null);
- boolean success = false;
- Throwable originalException = null;
-
- // do the unconfigure action
- try {
- handler.unconfigureInitiated();
-
- ConfigurationActivity activity =
- new ConfigurationActivity(IActivity.ACTION_UNCONFIGURE);
- activity.setLabel(
- featureReference.getFeature().getVersionedIdentifier().toString());
- activity.setDate(new Date());
-
- addUnconfiguredFeatureReference((FeatureReferenceModel) featureReference);
-
- // everything done ok
- activity.setStatus(IActivity.STATUS_OK);
- (
- (InstallConfiguration) SiteManager
- .getLocalSite()
- .getCurrentConfiguration())
- .addActivityModel(
- (ConfigurationActivityModel) activity);
-
- handler.completeUnconfigure();
-
- success = true;
- } catch (Throwable t) {
- originalException = t;
- } finally {
- Throwable newException = null;
- try {
- handler.configureCompleted(success);
- } catch (Throwable t) {
- newException = t;
- }
- if (originalException != null) // original exception wins
- throw UpdateManagerUtils.newCoreException(
- Policy.bind("InstallHandler.error", feature.getLabel()),
- originalException);
- if (newException != null)
- throw UpdateManagerUtils.newCoreException(
- Policy.bind("InstallHandler.error", feature.getLabel()),
- newException);
- }
-
- return true;
- }
-
- /**
- * returns an array of string corresponding to plugins file
- * It will include the include list providing the objects in the include list
- * are not 'unconfigured' if the type is Exclude or 'configured' if the type is Include
- */
- public String[] getPluginPath(ISite site, String[] pluginRead)
- throws CoreException {
-
- // which features should we write based on the policy
- IFeatureReference[] arrayOfFeatureRef = null;
- if (getPolicy() == IPlatformConfiguration.ISitePolicy.USER_EXCLUDE) {
- if (getUnconfiguredFeatures() != null)
- arrayOfFeatureRef = getUnconfiguredFeatures();
- } else {
- if (getConfiguredFeatures() != null)
- arrayOfFeatureRef = getConfiguredFeatures();
- }
- String[] pluginToWrite = getPluginString(site, arrayOfFeatureRef);
-
- // remove from include the plugins that should not be saved
- if (getPolicy() == IPlatformConfiguration.ISitePolicy.USER_EXCLUDE) {
- if (getConfiguredFeatures() != null)
- arrayOfFeatureRef = getConfiguredFeatures();
- } else {
- if (getUnconfiguredFeatures() != null)
- arrayOfFeatureRef = getUnconfiguredFeatures();
- }
- String[] pluginNotToWrite = getPluginString(site, arrayOfFeatureRef);
-
- String[] included = delta(pluginNotToWrite, pluginRead);
- String[] result = union(included, pluginToWrite);
-
- return result;
- }
-
- /**
- * return an array of plugin path for the array of feature reference
- *
- *
- */
- private String[] getPluginString(
- ISite site,
- IFeatureReference[] arrayOfFeatureRef)
- throws CoreException {
-
- String[] result = new String[0];
-
- // obtain path for each feature
- if (arrayOfFeatureRef != null) {
- List pluginsString = new ArrayList();
- for (int i = 0; i < arrayOfFeatureRef.length; i++) {
- IFeatureReference element = arrayOfFeatureRef[i];
- IFeature feature = element.getFeature();
- IPluginEntry[] entries =
- (feature == null) ? new IPluginEntry[0] : feature.getPluginEntries();
-
- for (int index = 0; index < entries.length; index++) {
- IPluginEntry entry = entries[index];
- // obtain the path of the plugin directories on the site
- ContentReference[] featureContentReference = null;
- try {
- featureContentReference =
- feature
- .getFeatureContentProvider()
- .getPluginEntryArchiveReferences(entry, null /*IProgressMonitor*/
- );
- } catch (CoreException e) {
- // DEDBUG
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- UpdateManagerPlugin.getPlugin().getLog().log(e.getStatus());
- }
- }
- if (featureContentReference != null) {
- for (int j = 0; j < featureContentReference.length; j++) {
- URL url =
- site.getSiteContentProvider().getArchiveReference(
- featureContentReference[j].getIdentifier());
- if (url != null) {
- // make it relative to teh site
- String path = UpdateManagerUtils.getURLAsString(site.getURL(), url);
- // add end "/"
- path += (path.endsWith(File.separator) || path.endsWith("/")) ? "" : "/";
- //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- // add plugin.xml or fragment.xml
- path += entry.isFragment() ? "fragment.xml" : "plugin.xml";
- //$NON-NLS-1$ //$NON-NLS-2$
- pluginsString.add(path);
- }
- }
- }
- }
- }
-
- // transform in String[]
- if (!pluginsString.isEmpty()) {
- result = new String[pluginsString.size()];
- pluginsString.toArray(result);
- }
- }
- return result;
- }
-
- /**
- * @since 2.0
- */
- public IFeatureReference[] getConfiguredFeatures() {
- FeatureReferenceModel[] result = getConfiguredFeaturesModel();
- if (result.length == 0)
- return new IFeatureReference[0];
- else
- return (IFeatureReference[]) result;
- }
-
- /**
- * @since 2.0
- */
- public IFeatureReference[] getUnconfiguredFeatures() {
- FeatureReferenceModel[] result = getUnconfiguredFeaturesModel();
- if (result.length == 0)
- return new IFeatureReference[0];
- else
- return (IFeatureReference[]) result;
- }
-
- /**
- * Returns and array with the union of plugins
- */
- private String[] union(String[] targetArray, String[] sourceArray) {
-
- // No string
- if (sourceArray == null || sourceArray.length == 0) {
- return targetArray;
- }
-
- // No string
- if (targetArray == null || targetArray.length == 0) {
- return sourceArray;
- }
-
- // if a String from sourceArray is NOT in
- // targetArray, add it to targetArray
- List list1 = new ArrayList();
- list1.addAll(Arrays.asList(targetArray));
- for (int i = 0; i < sourceArray.length; i++) {
- if (!list1.contains(sourceArray[i]))
- list1.add(sourceArray[i]);
- }
-
- String[] resultEntry = new String[list1.size()];
- if (list1.size() > 0)
- list1.toArray(resultEntry);
-
- return resultEntry;
- }
-
- /**
- * we need to figure out which plugin SHOULD NOT be written and
- * remove them from include
- * we can compare the String of the URL
- */
- private String[] delta(String[] pluginsToRemove, String[] allPlugins) {
- // No plugins to remove, return allPlugins
- if (pluginsToRemove == null || pluginsToRemove.length == 0) {
- return allPlugins;
- }
-
- // We didn't read any plugins in platform.cfg
- if (allPlugins == null || allPlugins.length == 0) {
- return new String[0];
- }
-
- // if a String from pluginsToRemove IS in
- // allPlugins, remove it from allPlugins
- List list1 = new ArrayList();
- list1.addAll(Arrays.asList(allPlugins));
- for (int i = 0; i < pluginsToRemove.length; i++) {
- if (list1.contains(pluginsToRemove[i]))
- list1.remove(pluginsToRemove[i]);
- }
-
- String[] resultEntry = new String[list1.size()];
- if (list1.size() > 0)
- list1.toArray(resultEntry);
-
- return resultEntry;
- }
-
- /**
- * Gets the configuredSite.
- * @return Returns a IConfiguredSite
- */
- public IConfiguredSite getConfiguredSite() {
- return configuredSite;
- }
-
- /**
- * Sets the configuredSite.
- * @param configuredSite The configuredSite to set
- */
- public void setConfiguredSite(IConfiguredSite configuredSite) {
- this.configuredSite = configuredSite;
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java
deleted file mode 100644
index d09c859..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ConfiguredSite.java
+++ /dev/null
@@ -1,665 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.PrintWriter;
-import java.util.*;
-
-import org.eclipse.core.boot.IPlatformConfiguration;
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.FeatureReferenceModel;
-import org.eclipse.update.core.model.SiteModel;
-import org.eclipse.update.internal.model.*;
-
-/**
- * A Configured site manages the Configured and unconfigured features of a Site
- */
-public class ConfiguredSite
- extends ConfiguredSiteModel
- implements IConfiguredSite, IWritable {
-
- // listeners
- private ListenersList listeners= new ListenersList();
-
- /*
- * Default Constructor
- */
- public ConfiguredSite() {
- }
-
- /*
- * Copy Constructor
- * As of now, configSite can only be of type ConfiguredSite
- */
- public ConfiguredSite(IConfiguredSite configSite) {
- ConfiguredSite cSite= (ConfiguredSite) configSite;
- setSiteModel((SiteModel) cSite.getSite());
- setConfigurationPolicyModel(
- new ConfigurationPolicy(cSite.getConfigurationPolicy()));
- isUpdateable(cSite.isUpdateable());
- setPreviousPluginPath(cSite.getPreviousPluginPath());
- setPlatformURLString(cSite.getPlatformURLString());
- }
-
- /*
- * Adds a listener
- */
- public void addConfiguredSiteChangedListener(IConfiguredSiteChangedListener listener) {
- synchronized (listeners) {
- listeners.add(listener);
- }
- }
-
- /*
- * Removes a listener
- */
- public void removeConfiguredSiteChangedListener(IConfiguredSiteChangedListener listener) {
- synchronized (listeners) {
- listeners.remove(listener);
- }
- }
-
- /*
- * @see IWritable#write(int, PrintWriter)
- */
- public void write(int indent, PrintWriter w) {
- String gap= ""; //$NON-NLS-1$
- for (int i= 0; i < indent; i++)
- gap += " "; //$NON-NLS-1$
- String increment= ""; //$NON-NLS-1$
- for (int i= 0; i < IWritable.INDENT; i++)
- increment += " "; //$NON-NLS-1$
- w.println(gap + "<" + InstallConfigurationParser.CONFIGURATION_SITE + " ");
- //$NON-NLS-1$ //$NON-NLS-2$
- w.println(
- gap + increment + "url=\"" + getSite().getURL().toExternalForm() + "\"");
- //$NON-NLS-1$ //$NON-NLS-2$
- w.println(gap + increment + "platformURL=\"" + getPlatformURLString() + "\"");
- //$NON-NLS-1$ //$NON-NLS-2$
- w.println(
- gap
- + increment
- + "policy=\""
- + getConfigurationPolicyModel().getPolicy()
- + "\" ");
- //$NON-NLS-1$ //$NON-NLS-2$
- String install= isUpdateable() ? "true" : "false";
- //$NON-NLS-1$ //$NON-NLS-2$
- w.print(gap + increment + "install=\"" + install + "\" ");
- //$NON-NLS-1$ //$NON-NLS-2$
- w.println(">"); //$NON-NLS-1$
- w.println(""); //$NON-NLS-1$
- // 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 + " ");
- //$NON-NLS-1$ //$NON-NLS-2$
- // configured = true
- w.print("configured = \"true\" "); //$NON-NLS-1$
- // feature URL
- String URLInfoString= null;
- if (element.getURL() != null) {
- ISite featureSite= element.getSite();
- URLInfoString=
- UpdateManagerUtils.getURLAsString(featureSite.getURL(), element.getURL());
- w.print("url=\"" + Writer.xmlSafe(URLInfoString) + "\" ");
- //$NON-NLS-1$ //$NON-NLS-2$
- }
- w.println("/>"); //$NON-NLS-1$
- }
- }
- // unconfigured features ref
- featuresReferences=
- ((ConfigurationPolicy) getConfigurationPolicyModel())
- .getUnconfiguredFeatures();
- if (featuresReferences != null) {
- for (int index= 0; index < featuresReferences.length; index++) {
- IFeatureReference element= featuresReferences[index];
- w.print(gap + increment + "<" + InstallConfigurationParser.FEATURE + " ");
- //$NON-NLS-1$ //$NON-NLS-2$
- // configured = true
- w.print("configured = \"false\" "); //$NON-NLS-1$
- // feature URL
- String URLInfoString= null;
- if (element.getURL() != null) {
- ISite featureSite= element.getSite();
- URLInfoString=
- UpdateManagerUtils.getURLAsString(featureSite.getURL(), element.getURL());
- w.print("url=\"" + Writer.xmlSafe(URLInfoString) + "\" ");
- //$NON-NLS-1$ //$NON-NLS-2$
- }
- w.println("/>"); //$NON-NLS-1$
- }
- }
- // end
- w.println(gap + "</" + InstallConfigurationParser.CONFIGURATION_SITE + ">");
- //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /*
- * @see IConfiguredSite#install(IFeature,IVerificationListener, IProgressMonitor)
- */
- public IFeatureReference install(
- IFeature feature,
- IVerificationListener verificationListener,
- IProgressMonitor monitor)
- throws CoreException {
-
- // ConfigSite is read only
- if (!isUpdateable()) {
- String errorMessage=
- Policy.bind(
- "ConfiguredSite.NonInstallableSite",
- getSite().getURL().toExternalForm());
- //$NON-NLS-1$
- throw Utilities.newCoreException(errorMessage, null);
- }
-
- // feature is null
- if (feature == null) {
- String errorMessage= Policy.bind("ConfiguredSite.NullFeatureToInstall");
- //$NON-NLS-1$
- throw Utilities.newCoreException(errorMessage, null);
- }
-
- // feature reference to return
- IFeatureReference installedFeature;
-
- // create the Activity (INSTALL)
- ConfigurationActivity activity=
- new ConfigurationActivity(IActivity.ACTION_FEATURE_INSTALL);
- activity.setLabel(feature.getVersionedIdentifier().toString());
- activity.setDate(new Date());
-
- try {
- installedFeature= getSite().install(feature, verificationListener, monitor);
- // everything done ok
- activity.setStatus(IActivity.STATUS_OK);
- // notify listeners
- Object[] siteListeners= listeners.getListeners();
- for (int i= 0; i < siteListeners.length; i++) {
- ((IConfiguredSiteChangedListener) siteListeners[i]).featureInstalled(
- installedFeature.getFeature());
- }
- // check if this is a primary feature
- // FIXME
- } catch (CoreException e) {
- // not ok, set Activity status
- activity.setStatus(IActivity.STATUS_NOK);
- throw e;
- } finally {
- IInstallConfiguration current=
- SiteManager.getLocalSite().getCurrentConfiguration();
- ((InstallConfiguration) current).addActivityModel(activity);
- }
-
- // call the configure task
- configure(installedFeature.getFeature(), false); /*callInstallHandler*/
-
- return installedFeature;
- }
-
- /*
- * @see IConfiguredSite#remove(IFeature, IProgressMonitor)
- */
- public void remove(IFeature feature, IProgressMonitor monitor)
- throws CoreException {
-
- // ConfigSite is read only
- if (!isUpdateable()) {
- String errorMessage=
- Policy.bind(
- "ConfiguredSite.NonUninstallableSite",
- getSite().getURL().toExternalForm());
- //$NON-NLS-1$
- throw Utilities.newCoreException(errorMessage, null);
- }
-
- // create the Activity
- ConfigurationActivity activity=
- new ConfigurationActivity(IActivity.ACTION_FEATURE_REMOVE);
- activity.setLabel(feature.getVersionedIdentifier().toString());
- activity.setDate(new Date());
-
- try {
- FeatureReferenceModel referenceToRemove= null;
- FeatureReferenceModel[] featureRef= getSiteModel().getFeatureReferenceModels();
- IFeatureReference ref= getSite().getFeatureReference(feature);
- for (int i= 0; i < featureRef.length; i++) {
- if (featureRef[i].equals(ref)) {
- referenceToRemove= featureRef[i];
- break;
- }
- }
-
- // we found a feature reference on the site matching the feature
- if (referenceToRemove != null) {
- // Check if feature is unconfigured before we remove it
- // our UI will check.
- // For non-UI application, throw error is feature is configured
- if (getConfigurationPolicy().isConfigured(referenceToRemove)) {
- IFeature featureToRemove= ((IFeatureReference) referenceToRemove).getFeature();
- String featureLabel=
- (featureToRemove == null) ? null : featureToRemove.getLabel();
- throw Utilities
- .newCoreException(Policy.bind("ConfiguredSite.UnableToRemoveConfiguredFeature"
- //$NON-NLS-1$
- , featureLabel), null);
- }
- } else {
- throw Utilities
- .newCoreException(
- Policy.bind("ConfiguredSite.UnableToFindFeature", feature.getURL().toString()),
- //$NON-NLS-1$
- null);
- }
-
- // remove the feature
- getSite().remove(feature, monitor);
- getConfigurationPolicy().removeFeatureReference(referenceToRemove);
- // everything done ok
- activity.setStatus(IActivity.STATUS_OK);
- // notify listeners
- Object[] siteListeners= listeners.getListeners();
- for (int i= 0; i < siteListeners.length; i++) {
- ((IConfiguredSiteChangedListener) siteListeners[i]).featureUninstalled(
- feature);
- }
- } catch (CoreException e) {
- activity.setStatus(IActivity.STATUS_NOK);
- throw e;
- } finally {
- IInstallConfiguration current=
- SiteManager.getLocalSite().getCurrentConfiguration();
- ((InstallConfiguration) current).addActivityModel(activity);
- }
- }
-
- /*
- * @see IConfiguredSite#configure(IFeature)
- */
- public void configure(IFeature feature) throws CoreException {
- configure(feature, true /*callInstallHandler*/
- );
- }
-
- /*
- * @see IConfiguredSite#configure(IFeatureReference,boolean)
- */
- private void configure(IFeature feature, boolean callInstallHandler)
- throws CoreException {
- IFeatureReference featureReference= getSite().getFeatureReference(feature);
- ((ConfigurationPolicy) getConfigurationPolicyModel()).configure(
- featureReference,
- callInstallHandler);
- }
-
- /*
- * @see IConfiguredSite#unconfigure(IFeature)
- */
- public boolean unconfigure(IFeature feature) throws CoreException {
- IFeatureReference featureReference= getSite().getFeatureReference(feature);
- ConfigurationPolicy configPolicy=
- ((ConfigurationPolicy) getConfigurationPolicyModel());
- if (configPolicy == null)
- return false;
- return configPolicy.unconfigure(featureReference);
- }
-
- /*
- * @see IConfiguredSite#getConfiguredFeatures()
- */
- public IFeatureReference[] getConfiguredFeatures() {
- ConfigurationPolicy configPolicy=
- ((ConfigurationPolicy) getConfigurationPolicyModel());
- if (configPolicy == null)
- return new IFeatureReference[0];
- return configPolicy.getConfiguredFeatures();
- }
-
- /*
- * adds configured and unconfigured feature references
- */
- public IFeatureReference[] getFeaturesReferences() {
-
- ConfigurationPolicy configPolicy=
- ((ConfigurationPolicy) getConfigurationPolicyModel());
- if (configPolicy == null)
- return new IFeatureReference[0];
-
- IFeatureReference[] configuredFeatures= getConfiguredFeatures();
- int confLen= configuredFeatures.length;
- IFeatureReference[] unconfiguredFeatures=
- configPolicy.getUnconfiguredFeatures();
- int unconfLen= unconfiguredFeatures.length;
-
- IFeatureReference[] result= new IFeatureReference[confLen + unconfLen];
- if (confLen > 0) {
- System.arraycopy(configuredFeatures, 0, result, 0, confLen);
- }
- if (unconfLen > 0) {
- System.arraycopy(unconfiguredFeatures, 0, result, confLen, unconfLen);
- }
-
- return result;
- }
-
- /*
- * Configure and unconfigure appropriate feature to
- * become 'like' currentConfiguration which is the configuration
- * the user wants to revert to.
- *
- * All features from currentConfiguration should be configured
- */
- public void processDeltaWith(
- IConfiguredSite currentConfiguration,
- IProgressMonitor monitor,
- IProblemHandler handler)
- throws CoreException, InterruptedException {
-
- ConfiguredSite cSite= (ConfiguredSite) currentConfiguration;
- ConfigurationPolicy cPolicy= cSite.getConfigurationPolicy();
-
- // copy the unmanaged plugins from platform.cfg
- // as they are transient
- this.setPreviousPluginPath(cSite.getPreviousPluginPath());
-
- // retrieve the feature that were configured
- IFeatureReference[] configuredFeatures= verifyConfiguredFeatures(handler);
-
- // we only care about unconfigured features if the Site policy is USER_EXCLUDE
- // otherwise we will onyl set the configured one
- if (cPolicy.getPolicy() == IPlatformConfiguration.ISitePolicy.USER_EXCLUDE) {
-
- // calculate all the features we have to unconfigure from the current state to this state
- // in the history.
- List featureToUnconfigure= calculateUnconfiguredFeatures(configuredFeatures);
-
- // for each unconfigured feature check if it still exists
- // if so add as unconfigured
- Iterator iter= featureToUnconfigure.iterator();
- while (iter.hasNext()) {
- IFeatureReference element= (IFeatureReference) iter.next();
- try {
- element.getFeature(); // throws CoreException if Feature does not exist
- getConfigurationPolicy().addUnconfiguredFeatureReference((FeatureReferenceModel) element);
- } catch (CoreException e) {
- // feature does not exist ?
- featureToUnconfigure.remove(element);
- // log no feature to unconfigure
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- String url= element.getURL().toString();
- ISite site= element.getSite();
- String siteString=
- (site != null)
- ? site.getURL().toExternalForm()
- : Policy.bind("ConfiguredSite.NoSite");
- //$NON-NLS-1$
- UpdateManagerPlugin.getPlugin().debug(
- Policy.bind(
- "ConfiguredSite.CannotFindFeatureToUnconfigure",
- url,
- siteString));
- //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
- }
- } // end USER_EXCLUDE
- }
-
- /*
- * We have to keep our configured feature
- * check if they are all valid
- */
- private IFeatureReference[] verifyConfiguredFeatures(IProblemHandler handler)
- throws InterruptedException {
-
- IFeatureReference[] configuredFeatures= getConfiguredFeatures();
- if (configuredFeatures != null) {
- for (int i= 0; i < configuredFeatures.length; i++) {
- IFeature feature= null;
-
- // attempt to access the feature
- try {
- feature= configuredFeatures[i].getFeature();
- } catch (CoreException e) {
- // notify we cannot find the feature
- UpdateManagerPlugin.getPlugin().getLog().log(e.getStatus());
- String featureString= configuredFeatures[i].getURL().toExternalForm();
- if (!handler
- .reportProblem(
- Policy.bind(
- "ConfiguredSite.CannotFindFeatureToConfigure",
- featureString))) { //$NON-NLS-1$
- throw new InterruptedException();
- }
- }
-
- // verify all the plugins still exist
- if (feature != null) {
- // get plugin identifier
- List sitePluginIdentifiers= new ArrayList();
- ISite site= feature.getSite();
- IPluginEntry[] sitePluginEntries= null;
-
- if (site != null) {
- sitePluginEntries= site.getPluginEntries();
- for (int index= 0; index < sitePluginEntries.length; index++) {
- IPluginEntry entry= sitePluginEntries[index];
- sitePluginIdentifiers.add(entry.getVersionedIdentifier());
- }
- }
-
- if (sitePluginEntries.length>0) {
- IPluginEntry[] featurePluginEntries= feature.getPluginEntries();
- for (int index= 0; index < featurePluginEntries.length; index++) {
- IPluginEntry currentFeaturePluginEntry= featurePluginEntries[index];
- if (!contains(currentFeaturePluginEntry.getVersionedIdentifier(), sitePluginIdentifiers)) {
- // the plugin defined by the feature
- // doesn't seem to exist on the site
- String id=
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status=
- new Status(
- IStatus.ERROR,
- id,
- IStatus.OK,
- "Error verifying existence of plugin:"
- + currentFeaturePluginEntry.getVersionedIdentifier().toString(),
- null);
- //$NON-NLS-1$
- UpdateManagerPlugin.getPlugin().getLog().log(status);
- String siteString=
- (site != null)
- ? site.getURL().toExternalForm()
- : Policy.bind("ConfiguredSite.NoSite");
- //$NON-NLS-1$
- String errorLabel=
- Policy.bind(
- "ConfiguredSite.CannotFindPluginEntry",
- currentFeaturePluginEntry.getVersionedIdentifier().toString(),
- siteString);
- //$NON-NLS-1$ //$NON-NLS-2$
- if (handler == null) {
- throw new InterruptedException(errorLabel);
- }
- if (!handler.reportProblem(Policy.bind(errorLabel))) {
- //$NON-NLS-1$ //$NON-NLS-2$
- throw new InterruptedException();
- }
- } // end if not found in site
- } // end for
- }
- }
- } // end for configured feature
- }
- return configuredFeatures;
- }
-
-
- /*
- * We are in the process of calculating the delta between what was configured in the current
- * configuration that is not configured now
- *
- * we have to figure out what feature have been unconfigured for the whole
- * history between current and us...
- *
- * is it as simple as get all configured, and unconfigured,
- * the do the delta with what should be configured
- *
- */
- private List calculateUnconfiguredFeatures(IFeatureReference[] configuredFeatures) throws CoreException {
-
- List featureToUnconfigure= new ArrayList(0);
-
- // loop for all history
- // try to see if the configured site existed
- // if it does, get the unconfigured features
- // and the configured one
- IInstallConfiguration[] history=
- SiteManager.getLocalSite().getConfigurationHistory();
-
- for (int i= 0; i < history.length; i++) {
- IInstallConfiguration element= history[i];
- IConfiguredSite[] configSites= element.getConfiguredSites();
- for (int j= 0; j < configSites.length; j++) {
- ConfiguredSite configSite= (ConfiguredSite) configSites[j];
- if (configSite.getSite().equals(getSite())) {
- featureToUnconfigure.addAll(
- Arrays.asList(configSite.getConfigurationPolicy().getUnconfiguredFeatures()));
- featureToUnconfigure.addAll(
- Arrays.asList(configSite.getConfigurationPolicy().getConfiguredFeatures()));
- }
- }
- }
-
- // remove the unconfigured feature we found that are now to be configured
- // (they may have been unconfigured in the past, but the revert makes them configured)
- featureToUnconfigure= remove(configuredFeatures, featureToUnconfigure);
-
-
- return featureToUnconfigure;
- }
-
-
- /*
- * Utilities: Remove an array of feature references
- * from a list
- */
- private List remove(IFeatureReference[] featureRefs, List list) {
- List result= new ArrayList();
-
- if (list == null)
- return result;
-
- // if an element of the list is NOT found in the array,
- // add it to the result list
- Iterator iter= list.iterator();
- while (iter.hasNext()) {
- IFeatureReference element= (IFeatureReference) iter.next();
- boolean found= false;
- for (int i= 0; i < featureRefs.length; i++) {
- if (element.equals(featureRefs[i])) {
- found= true;
- }
- }
-
- if (!found)
- result.add(element);
- }
- return result;
- }
-
- /*
- * I have issues when running list.contain(versionedIdentifier)
- * The code runs the Object.equals instead of the VersionedIdentifier.equals
- */
- private boolean contains(VersionedIdentifier id, List list) {
- boolean found= false;
- if (list != null && !list.isEmpty()) {
- Iterator iter= list.iterator();
- while (iter.hasNext() && !found) {
- VersionedIdentifier element= (VersionedIdentifier) iter.next();
- if (element.equals(id)) {
- found= true;
- }
- }
- }
- return found;
- }
-
- /*
- *
- */
- public void setConfigurationPolicy(ConfigurationPolicy policy) {
- setConfigurationPolicyModel((ConfigurationPolicyModel) policy);
- }
-
- /*
- *
- */
- public ConfigurationPolicy getConfigurationPolicy() {
- return (ConfigurationPolicy) getConfigurationPolicyModel();
- }
-
- /*
- * @see IConfiguredSite#getSite()
- */
- public ISite getSite() {
- return (ISite) getSiteModel();
- }
-
- /*
- * @see IConfiguredSite#getInstallConfiguration()
- */
- public IInstallConfiguration getInstallConfiguration() {
- return (IInstallConfiguration) getInstallConfigurationModel();
- }
-
- /*
- * @see IConfiguredSite#isBroken(IFeature)
- */
- public boolean isBroken(IFeature feature) {
- // check the Plugins of all the features
- // every plugin of the feature must be on the site
- ISite currentSite= getSite();
- IPluginEntry[] siteEntries= getSite().getPluginEntries();
- IPluginEntry[] featuresEntries= feature.getPluginEntries();
- IPluginEntry[] result= UpdateManagerUtils.diff(featuresEntries, siteEntries);
- if (result == null || (result.length != 0)) {
- IPluginEntry[] missing= UpdateManagerUtils.diff(featuresEntries, result);
- String listOfMissingPlugins= ""; //$NON-NLS-1$
- for (int k= 0; k < missing.length; k++) {
- listOfMissingPlugins=
- "\r\nplugin:" + missing[k].getVersionedIdentifier().toString();
- //$NON-NLS-1$
- }
- String id=
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- String featureString=
- (feature == null) ? null : feature.getURL().toExternalForm();
- String siteString=
- (currentSite == null) ? null : currentSite.getURL().toExternalForm();
- String[] values=
- new String[] { featureString, siteString, listOfMissingPlugins };
- IStatus status=
- new Status(
- IStatus.ERROR,
- id,
- IStatus.OK,
- Policy.bind("ConfiguredSite.MissingPluginsBrokenFeature", values),
- null);
- //$NON-NLS-1$
- UpdateManagerPlugin.getPlugin().getLog().log(status);
- return true;
- }
- return false;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ContentConsumer.java
deleted file mode 100644
index 3cf4259..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ContentConsumer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.update.core.IContentConsumer;
-
-/**
- * A default implementation for IFeatureContentConsumer
- * </p>
- * @since 2.0
- */
-
-public abstract class ContentConsumer implements IContentConsumer {
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DefaultInstallHandler.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DefaultInstallHandler.java
deleted file mode 100644
index 29cbb20..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/DefaultInstallHandler.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.IOException;
-import java.util.jar.JarEntry;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.JarContentReference.ContentSelector;
-
-/**
- * Default Implementation of InstallHandler
- */
-public class DefaultInstallHandler extends BaseInstallHandler {
-
- /*
- * @see IInstallHandler#nonPluginDataDownloaded(INonPluginEntry[], IVerificationListener)
- */
- public void nonPluginDataDownloaded(
- INonPluginEntry[] nonPluginData,
- IVerificationListener listener)
- throws CoreException {
-
- // verify non-plugin archives. The DefaultInstallHandler assumes
- // the verifier associated with the feature is able to verify the
- // data archives.
- if (nonPluginData == null || nonPluginData.length == 0)
- return;
-
- this.nonPluginEntries = nonPluginData;
- IFeatureContentProvider provider = this.feature.getFeatureContentProvider();
- IVerifier verifier = provider.getVerifier();
- if (verifier == null)
- return;
-
- for (int i = 0; i < this.nonPluginEntries.length; i++) {
- ContentReference[] archives =
- provider.getNonPluginEntryArchiveReferences(nonPluginEntries[i], this.monitor);
- IVerificationResult result;
- for (int j = 0; j < archives.length; j++) {
-
- // see if the data entry is a jar
- ContentReference archive = archives[j];
- if (!(archives[j] instanceof JarContentReference)
- && archives[j].getIdentifier().endsWith(".jar")) {
- try {
- archive =
- new JarContentReference(archives[j].getIdentifier(), archives[j].asFile());
- } catch (IOException e) {
- }
- }
-
- result = verifier.verify(this.feature, archive, false, this.monitor);
- if (result != null)
- promptForVerification(result, listener);
- }
- }
- }
-
- /*
- * @see IInstallHandler#completeInstall(IFeatureContentConsumer)
- */
- public void completeInstall(IFeatureContentConsumer consumer)
- throws CoreException {
-
- // plugins have been installed. Check to see if we have any
- // non-plugin entries that need to be handled.
- if (this.nonPluginEntries == null || this.nonPluginEntries.length == 0)
- return;
-
- // install non-plugin archives
- IFeatureContentProvider provider = this.feature.getFeatureContentProvider();
- for (int i = 0; i < this.nonPluginEntries.length; i++) {
- ContentReference[] archive =
- provider.getNonPluginEntryArchiveReferences(nonPluginEntries[i], this.monitor);
- IContentConsumer nonPluginConsumer = consumer.open(nonPluginEntries[i]);
- for (int j = 0; j < archive.length; j++) {
- String id = archive[j].getIdentifier();
- if (id.endsWith(".jar")) {
- // the non-plugin archive is a jar. Unpack it into
- // a directory constructed using the archive id
- try {
- final String prefix = id.substring(0, id.length() - 4) + "/";
- JarContentReference jarRef = new JarContentReference("", archive[j].asFile());
- ContentSelector selector = new ContentSelector() {
- public String defineIdentifier(JarEntry entry) {
- if (entry == null)
- return null;
- else
- return prefix + entry.getName();
- }
- };
- ContentReference[] entries = jarRef.peek(selector, this.monitor);
- for (int k = 0; k < entries.length; k++) {
- nonPluginConsumer.store(entries[k], this.monitor);
- }
- } catch (IOException e) {
- throw Utilities
- .newCoreException(Policy.bind("JarVerificationService.CancelInstall", id),
- //$NON-NLS-1$
- e);
- }
-
- } else {
- // the non-plugin archive is not a jar. Install it asis.
- nonPluginConsumer.store(archive[j], this.monitor);
- }
- }
- nonPluginConsumer.close();
- }
- }
-
- /*
- *
- */
- private void promptForVerification(
- IVerificationResult verificationResult,
- IVerificationListener listener)
- throws CoreException {
-
- if (listener == null)
- return;
- int result = listener.prompt(verificationResult);
-
- if (result == IVerificationListener.CHOICE_ABORT) {
- throw Utilities
- .newCoreException(Policy.bind("JarVerificationService.CancelInstall"),
- //$NON-NLS-1$
- verificationResult.getVerificationException());
- }
- if (result == IVerificationListener.CHOICE_ERROR) {
- throw Utilities
- .newCoreException(Policy.bind("JarVerificationService.UnsucessfulVerification"),
- //$NON-NLS-1$
- verificationResult.getVerificationException());
- }
-
- return;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureContentConsumer.java
deleted file mode 100644
index 0b3c7e5..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureContentConsumer.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.update.core.IFeatureContentConsumer;
-
-/**
- * A default implementation for IFeatureContentConsumer
- * </p>
- * @since 2.0
- */
-
-public abstract class FeatureContentConsumer
- implements IFeatureContentConsumer {
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableContentConsumer.java
deleted file mode 100644
index 064ce30..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableContentConsumer.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.update.core.*;
-
-/**
- * ContentConsumer Implementation of FeatureExecutable
- */
-
-public class FeatureExecutableContentConsumer extends FeatureContentConsumer {
-
- private IFeature feature;
- private boolean closed= false;
- private ISiteContentConsumer contentConsumer;
-
- /*
- * @see IContentConsumer#open(INonPluginEntry)
- */
- public IContentConsumer open(INonPluginEntry nonPluginEntry)
- throws CoreException {
- return new NonPluginEntryContentConsumer(
- getContentConsumer().open(nonPluginEntry));
- }
-
- /*
- * @see IContentConsumer#open(IPluginEntry)
- */
- public IContentConsumer open(IPluginEntry pluginEntry) throws CoreException {
- return new PluginEntryContentConsumer(getContentConsumer().open(pluginEntry));
- }
-
- /*
- * @see IFeatureContentConsumer#store(ContentReference, IProgressMonitor)
- */
- public void store(ContentReference contentReference, IProgressMonitor monitor)
- throws CoreException {
- getContentConsumer().store(contentReference, monitor);
- }
-
- /*
- * @see IFeatureContentConsumer#close()
- */
- public IFeatureReference close() throws CoreException {
- closed= true;
- if (contentConsumer != null)
- return contentConsumer.close();
- return null;
- }
-
- /*
- * @see IFeatureContentConsumer#setFeature(IFeature)
- */
- public void setFeature(IFeature feature) {
- this.feature= feature;
- }
-
- /*
- * returns the Content Consumer for the feature
- *
- * Right now we are the only one to implement SiteContentConsumer
- * Need to be exposed as API post v2.0
- */
- private ISiteContentConsumer getContentConsumer() throws CoreException {
- if (contentConsumer == null)
- if (feature.getSite() instanceof SiteFile) {
- SiteFile site= (SiteFile) feature.getSite();
- contentConsumer= site.createSiteContentConsumer(feature);
- } else {
- throw new UnsupportedOperationException();
- }
- return contentConsumer;
- }
-
- /*
- * @see IFeatureContentConsumer#abort()
- */
- public void abort() {
- //FIXME implement the abort
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableContentProvider.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableContentProvider.java
deleted file mode 100644
index c0e414b..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableContentProvider.java
+++ /dev/null
@@ -1,300 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-
-/**
- * Default implementation of a Executable Feature Content Provider
- */
-
-public class FeatureExecutableContentProvider extends FeatureContentProvider {
-
- //private IFeature feature;
-
- /*
- * Constructor
- */
- public FeatureExecutableContentProvider(URL url) {
- super(url);
- }
-
- /*
- * Return the path for a pluginEntry
- */
- private String getPath(IPluginEntry pluginEntry)
- throws IOException, CoreException {
-
- // get the URL of the Archive file that contains the plugin entry
- ISiteContentProvider provider= getFeature().getSite().getSiteContentProvider();
- URL fileURL= provider.getArchiveReference(getPathID(pluginEntry));
- String result= fileURL.getFile();
-
- // 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(
- Policy.bind("FeatureExecutableContentProvider.FileDoesNotExist", result));
- //$NON-NLS-1$ //$NON-NLS-2$
-
- return result;
- }
-
- /*
- * Returns the path for the Feature
- */
- private String getFeaturePath() throws IOException {
- String result= getFeature().getURL().getFile();
-
- // return the list of all subdirectories
- if (!(result.endsWith(File.separator) || result.endsWith("/"))) //$NON-NLS-1$
- result += File.separator;
- File pluginDir= new File(result);
- if (!pluginDir.exists())
- throw new IOException(
- Policy.bind("FeatureExecutableContentProvider.FileDoesNotExist", result));
- //$NON-NLS-1$ //$NON-NLS-2$
-
- return result;
- }
-
- /*
- * Returns all the files under the directory
- * Recursive call
- */
- private List getFiles(File dir) throws IOException {
- List result= new ArrayList();
-
- if (!dir.isDirectory()) {
- String msg=
- Policy.bind(
- "FeatureExecutableContentProvider.InvalidDirectory",
- dir.getAbsolutePath());
- //$NON-NLS-1$
- throw new IOException(msg);
-
- }
-
- File[] files= dir.listFiles();
- if (files != null)
- for (int i= 0; i < files.length; ++i) {
- if (files[i].isDirectory()) {
- result.addAll(getFiles(files[i]));
- } else {
- result.add(files[i]);
- }
- }
-
- return result;
- }
-
-
-
- /*
- * @see IFeatureContentProvider#getVerifier()
- */
- public IVerifier getVerifier() throws CoreException {
- return null;
- }
-
- /*
- * @see IFeatureContentProvider#getFeatureManifestReference()
- */
- public ContentReference getFeatureManifestReference(InstallMonitor monitor)
- throws CoreException {
- ContentReference result= null;
- try {
- result= new ContentReference(null, new URL(getURL(), Feature.FEATURE_XML));
-
- } catch (MalformedURLException e) {
- String id=
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status=
- new Status(
- IStatus.ERROR,
- id,
- IStatus.OK,
- Policy.bind(
- "FeatureExecutableContentProvider.UnableToCreateURLFor",
- getURL().toExternalForm() + " " + Feature.FEATURE_XML),
- e);
- //$NON-NLS-1$ //$NON-NLS-2$
- throw new CoreException(status);
- }
- return result;
- }
-
- /*
- * @see IFeatureContentProvider#getArchiveReferences()
- */
- public ContentReference[] getArchiveReferences(InstallMonitor monitor)
- throws CoreException {
- // executable feature does not contain archives
- return new ContentReference[0];
- }
-
- /*
- * @see IFeatureContentProvider#getPluginEntryArchiveReferences(IPluginEntry)
- */
- public ContentReference[] getPluginEntryArchiveReferences(
- IPluginEntry pluginEntry,
- InstallMonitor monitor)
- throws CoreException {
- ContentReference[] result= new ContentReference[1];
- try {
- result[0]=
- new ContentReference(
- getPathID(pluginEntry),
- new File(getPath(pluginEntry)));
- } catch (IOException e) {
- String id=
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status=
- new Status(
- IStatus.ERROR,
- id,
- IStatus.OK,
- Policy.bind(
- "FeatureExecutableContentProvider.UnableToRetrievePluginEntry",
- pluginEntry.getVersionedIdentifier().toString()),
- e);
- //$NON-NLS-1$
- throw new CoreException(status);
- }
- return result;
- }
-
- /*
- * @see IFeatureContentProvider#getNonPluginEntryArchiveReferences(INonPluginEntry)
- */
- public ContentReference[] getNonPluginEntryArchiveReferences(
- INonPluginEntry nonPluginEntry,
- InstallMonitor monitor)
- throws CoreException {
- ContentReference[] result= new ContentReference[1];
- try {
- // get the URL of the Archive file that contains the plugin entry
- ISiteContentProvider provider= getFeature().getSite().getSiteContentProvider();
- URL fileURL= provider.getArchiveReference(getPathID(nonPluginEntry));
- String fileString= fileURL.getFile();
-
- File nonPluginData= new File(fileString);
- if (!nonPluginData.exists())
- throw new IOException(
- Policy.bind("FeatureExecutableContentProvider.FileDoesNotExist", fileString));
- //$NON-NLS-1$ //$NON-NLS-2$
-
- result[0]=
- new ContentReference(nonPluginEntry.getIdentifier(), nonPluginData.toURL());
- } catch (Exception e) {
- String id=
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status=
- new Status(
- IStatus.ERROR,
- id,
- IStatus.OK,
- Policy.bind(
- "FeatureExecutableContentProvider.UnableToRetrieveNonPluginEntry",
- nonPluginEntry.getIdentifier().toString()),
- e);
- //$NON-NLS-1$
- throw new CoreException(status);
- }
- return result;
- }
-
- /*
- * @see IFeatureContentProvider#getFeatureEntryArchiveReferences()
- */
- public ContentReference[] getFeatureEntryArchiveReferences(InstallMonitor monitor)
- throws CoreException {
- ContentReference[] contentReferences= new ContentReference[1];
- contentReferences[0]= new ContentReference(null, getURL());
- return contentReferences;
- }
-
- /*
- * @see IFeatureContentProvider#getFeatureEntryArchivesContentReferences()
- */
- public ContentReference[] getFeatureEntryContentReferences(InstallMonitor monitor)
- throws CoreException {
- ContentReference[] result= new ContentReference[0];
- try {
- File featureDir= new File(getFeaturePath());
- List files= getFiles(featureDir);
- result= new ContentReference[files.size()];
- for (int i= 0; i < result.length; i++) {
- File currentFile= (File) files.get(i);
- result[i]= new ContentReference(currentFile.getName(), currentFile.toURL());
- }
- } catch (Exception e) {
- String id=
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status=
- new Status(
- IStatus.ERROR,
- id,
- IStatus.OK,
- Policy.bind(
- "FeatureExecutableContentProvider.UnableToRetrieveFeatureEntryContentRef",
- getFeature().getVersionedIdentifier().toString()),
- e);
- //$NON-NLS-1$
- throw new CoreException(status);
- }
- return result;
- }
-
- /*
- * @see IFeatureContentProvider#getPluginEntryContentReferences(IPluginEntry)
- */
- public ContentReference[] getPluginEntryContentReferences(
- IPluginEntry pluginEntry,
- InstallMonitor monitor)
- throws CoreException {
-
- ContentReference[] result= new ContentReference[0];
-
- try {
- // return the list of all subdirectories
- File pluginDir= new File(getPath(pluginEntry));
- List files= getFiles(pluginDir);
- result= new ContentReference[files.size()];
- for (int i= 0; i < result.length; i++) {
- File currentFile= (File) files.get(i);
- result[i]= new ContentReference(null, currentFile.toURL());
- }
- } catch (Exception e) {
- String id=
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status=
- new Status(
- IStatus.ERROR,
- id,
- IStatus.OK,
- Policy.bind(
- "FeatureExecutableContentProvider.UnableToRetriveArchiveContentRef")
- + pluginEntry.getVersionedIdentifier().toString(),
- e);
- //$NON-NLS-1$
- 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/FeatureExecutableFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableFactory.java
deleted file mode 100644
index 5806de9..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureExecutableFactory.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.core.model.FeatureModel;
-import org.eclipse.update.core.model.FeatureModelFactory;
-import org.eclipse.update.internal.core.Policy;
-
-public class FeatureExecutableFactory extends BaseFeatureFactory {
-
- /*
- * @see IFeatureFactory#createFeature(URL,ISite)
- */
-
- public IFeature createFeature(URL url, ISite site) throws CoreException {
-
- TargetFeature feature = null;
- InputStream featureStream = null;
-
- if (url==null) return createFeature(site);
-
- // the URL should point to a directory, we will add the feature.xml
- url = validate(url);
-
- try {
- IFeatureContentProvider contentProvider = new FeatureExecutableContentProvider(url);
- IFeatureContentConsumer contentConsumer = new FeatureExecutableContentConsumer();
-
- URL nonResolvedURL= contentProvider.getFeatureManifestReference(null/*IProgressMonitor*/).asURL();
- URL resolvedURL = URLEncoder.encode(nonResolvedURL);
- featureStream =resolvedURL.openStream();
-
- feature = (TargetFeature)this.parseFeature(featureStream);
- feature.setSite(site);
-
- feature.setFeatureContentProvider(contentProvider);
- feature.setContentConsumer(contentConsumer);
-
- feature.resolve(url, getResourceBundle(url));
- feature.markReadOnly();
- } catch (IOException e) {
- // if we cannot find the feature 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, "IOException opening the 'feature.xml' stream in the feature archive:" + url.toExternalForm(), e); //$NON-NLS-1$
- UpdateManagerPlugin.getPlugin().getLog().log(status);
- } catch (Exception e){
- //catch (SAXException e) parseFeature
- //catch (ParsingException) parerFeature
- throw Utilities.newCoreException(Policy.bind("FeatureFactory.ParsingError", url.toExternalForm()), e); //$NON-NLS-1$
- } finally {
- try {
- featureStream.close();
- } catch (Exception e) {
- }
- }
- return feature;
- }
-
- /*
- * @see FeatureModelFactory#createFeatureModel()
- */
- public FeatureModel createFeatureModel() {
- return new TargetFeature();
- }
-
- private IFeature createFeature(ISite site) throws CoreException {
- TargetFeature feature = null;
-
- IFeatureContentProvider contentProvider = new FeatureExecutableContentProvider(null);
- IFeatureContentConsumer contentConsumer = new FeatureExecutableContentConsumer();
-
- feature = (TargetFeature)createFeatureModel();
- feature.setSite(site);
-
- feature.setFeatureContentProvider(contentProvider);
- feature.setContentConsumer(contentConsumer);
-
- // do not mark read only yet...
- return feature;
- }
-
-
- /**
- * validates a URL as a directory URL
- */
- private URL validate(URL url) throws CoreException {
-
- if (url==null)
- throw Utilities.newCoreException(Policy.bind("FeatureExecutableFactory.NullURL"),null); //$NON-NLS-1$
-
- if (!(url.getFile().endsWith("/") || url.getFile().endsWith(File.separator) || url.getFile().endsWith(Feature.FEATURE_XML))){ //$NON-NLS-1$
- try {
- String path = url.getFile() + "/"; //$NON-NLS-1$
- url = new URL(url.getProtocol(),url.getHost(),url.getPort(),path);
- } catch (MalformedURLException e){
- throw Utilities.newCoreException(Policy.bind("FeatureExecutableFactory.CannotCreateURL",url.toExternalForm()),e); //$NON-NLS-1$
- }
- }
- return url;
- }
-
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedContentProvider.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedContentProvider.java
deleted file mode 100644
index 6b8bd33..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedContentProvider.java
+++ /dev/null
@@ -1,245 +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.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.security.JarVerifier;
-
-/**
- * Parse the default feature.xml
- */
-public class FeaturePackagedContentProvider extends FeatureContentProvider {
-
- private ContentReference localManifest = null;
- private ContentReference[] localFeatureFiles = new ContentReference[0];
- private IVerifier jarVerifier = new JarVerifier();
-
-
- public static final FilenameFilter filter = new FilenameFilter() {
- public boolean accept(File dir, String name) {
- return name.endsWith(FeaturePackagedContentProvider.JAR_EXTENSION);
- }
- };
-
- /**
- * Constructor
- */
- public FeaturePackagedContentProvider(URL url) {
- super(url);
- }
-
- /*
- * @see IFeatureContentProvider#getVerifier()
- */
- public IVerifier getVerifier() throws CoreException {
- return jarVerifier;
- }
-
-
- /*
- * @see IFeatureContentProvider#getFeatureManifestReference()
- */
- public ContentReference getFeatureManifestReference(InstallMonitor monitor) throws CoreException {
-
- // check to see if we already have local copy of the manifest
- if (localManifest != null)
- return localManifest;
-
- ContentReference result = null;
- ContentReference[] featureArchiveReference = getFeatureEntryArchiveReferences(monitor);
- try {
- // force feature archive to local. This content provider always assumes exactly 1 archive file (index [0])
- JarContentReference featureJarReference = (JarContentReference) asLocalReference(featureArchiveReference[0], null);
-
- // we need to unpack archive locally for UI browser references to be resolved correctly
- localFeatureFiles = featureJarReference.unpack(getWorkingDirectory(), null, monitor); // unpack and cache references
- result = null;
- for (int i = 0; i < localFeatureFiles.length; i++) {
- // find the manifest in the unpacked feature files
- if (localFeatureFiles[i].getIdentifier().equals(Feature.FEATURE_XML)) {
- result = localFeatureFiles[i];
- localManifest = result; // cache reference to manifest
- break;
- }
- }
- if (result == null){
- String[] values = new String[]{Feature.FEATURE_XML, featureArchiveReference[0].getIdentifier() , getURL().toExternalForm()};
- throw Utilities.newCoreException(Policy.bind("FeaturePackagedContentProvider.NoManifestFile",values), null); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } catch (IOException e) {
- String[] values = new String[]{Feature.FEATURE_XML, featureArchiveReference[0].getIdentifier() , getURL().toExternalForm()};
- throw Utilities.newCoreException(Policy.bind("FeaturePackagedContentProvider.ErrorRetrieving",values), e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return result;
- }
-
- /*
- * @see IFeatureContentProvider#getArchiveReferences()
- */
- public ContentReference[] getArchiveReferences(InstallMonitor monitor) throws CoreException {
- IPluginEntry[] entries = getFeature().getPluginEntries();
- INonPluginEntry[] nonEntries = getFeature().getNonPluginEntries();
- List listAllContentRef = new ArrayList();
- ContentReference[] allContentRef = new ContentReference[0];
-
- // feature
- listAllContentRef.addAll(Arrays.asList(getFeatureEntryArchiveReferences(monitor)));
-
- // plugins
- for (int i = 0; i < entries.length; i++) {
- listAllContentRef.addAll(Arrays.asList(getPluginEntryArchiveReferences(entries[i], monitor)));
- }
-
- // non plugins
- for (int i = 0; i < nonEntries.length; i++) {
- listAllContentRef.addAll(Arrays.asList(getNonPluginEntryArchiveReferences(nonEntries[i], monitor)));
- }
-
- if (listAllContentRef.size() > 0) {
- allContentRef = new ContentReference[listAllContentRef.size()];
- listAllContentRef.toArray(allContentRef);
- }
-
- return allContentRef;
- }
-
- /*
- * @see IFeatureContentProvider#getFeatureEntryArchiveReferences()
- */
- public ContentReference[] getFeatureEntryArchiveReferences(InstallMonitor monitor) throws CoreException {
- //1 jar file <-> 1 feature
- ContentReference[] references = new ContentReference[1];
- ContentReference currentReference = null;
- String archiveID = null;
- try {
- // feature may not be known,
- // we may be asked for the manifest before the feature is set
- archiveID = (getFeature() != null) ? getFeature().getVersionedIdentifier().toString() : ""; //$NON-NLS-1$
- currentReference = new JarContentReference(archiveID, getURL());
- currentReference = asLocalReference(currentReference, monitor);
- references[0] = currentReference;
- }catch (IOException e) {
- String urlString = (getFeature() == null) ? Policy.bind("FeaturePackagedContentProvider.NoFeature") : "" + getFeature().getURL(); //$NON-NLS-1$ //$NON-NLS-2$
- String refString = (currentReference==null)?Policy.bind("FeaturePackagedContentProvider.NoReference"):currentReference.getIdentifier(); //$NON-NLS-1$
- String[] values = new String[]{archiveID,refString,urlString};
- throw Utilities.newCoreException(Policy.bind("FeaturePackagedContentProvider.ErrorRetrieving",values), e); //$NON-NLS-1$
- }
- return references;
- }
-
- /*
- * @see IFeatureContentProvider#getPluginEntryArchiveReferences(IPluginEntry)
- */
- public ContentReference[] getPluginEntryArchiveReferences(IPluginEntry pluginEntry, InstallMonitor monitor) throws CoreException {
- ContentReference[] references = new ContentReference[1];
- String archiveID = getPathID(pluginEntry);
- URL url = getFeature().getSite().getSiteContentProvider().getArchiveReference(archiveID);
-
- try {
- references[0] = asLocalReference(new JarContentReference(archiveID, url),monitor);
- }catch (IOException e) {
- String urlString = (getFeature() == null) ? Policy.bind("FeaturePackagedContentProvider.NoFeature") : "" + getFeature().getURL(); //$NON-NLS-1$ //$NON-NLS-2$
- String refString = (references[0]==null)?Policy.bind("FeaturePackagedContentProvider.NoReference"):references[0].getIdentifier(); //$NON-NLS-1$
- String[] values = new String[]{archiveID,refString,urlString};
- throw Utilities.newCoreException(Policy.bind("FeaturePackagedContentProvider.ErrorRetrieving",values), e); //$NON-NLS-1$
- }
- return references;
- }
-
- /*
- * @see IFeatureContentProvider#getNonPluginEntryArchiveReferences(INonPluginEntry)
- */
- public ContentReference[] getNonPluginEntryArchiveReferences(INonPluginEntry nonPluginEntry, InstallMonitor monitor) throws CoreException {
-
- // archive = feature/<id>_<ver>/<file>
- String archiveID = Site.DEFAULT_FEATURE_PATH + ((getFeature() != null) ? getFeature().getVersionedIdentifier().toString() : ""); //$NON-NLS-1$
- archiveID += "/" + nonPluginEntry.getIdentifier(); //$NON-NLS-1$
-
- ContentReference[] references = new ContentReference[1];
- ContentReference currentReference = null;
-
- try {
- URL url = getFeature().getSite().getSiteContentProvider().getArchiveReference(archiveID);
- currentReference = new ContentReference(nonPluginEntry.getIdentifier(), url);
- currentReference = asLocalReference(currentReference, monitor);
- references[0] = currentReference;
- } catch (IOException e) {
- String urlString = (getFeature() == null) ? Policy.bind("FeaturePackagedContentProvider.NoFeature") : "" + getFeature().getURL(); //$NON-NLS-1$ //$NON-NLS-2$
- String refString = (currentReference==null)?Policy.bind("FeaturePackagedContentProvider.NoReference"):currentReference.getIdentifier(); //$NON-NLS-1$
- String[] values = new String[]{archiveID,refString,urlString};
- throw Utilities.newCoreException(Policy.bind("FeaturePackagedContentProvider.ErrorRetrieving",values), e); //$NON-NLS-1$
- }
-
- return references;
- }
-
- /*
- * @see IFeatureContentProvider#getFeatureEntryContentReferences()
- */
- public ContentReference[] getFeatureEntryContentReferences(InstallMonitor monitor) throws CoreException {
-
- return localFeatureFiles; // return cached feature references
- // Note: assumes this content provider is always called first to
- // get the feature manifest. This forces the feature files
- // to be unpacked and caches the references
- }
-
- /*
- * @see IFeatureContentProvider#getPluginEntryContentReferences(IPluginEntry)
- */
- public ContentReference[] getPluginEntryContentReferences(IPluginEntry pluginEntry, InstallMonitor monitor) throws CoreException {
- ContentReference[] references = getPluginEntryArchiveReferences(pluginEntry, monitor);
- ContentReference[] pluginReferences = new ContentReference[0];
- try {
-
- if (references[0] instanceof JarContentReference) {
- JarContentReference localRef = (JarContentReference) asLocalReference(references[0], monitor);
- pluginReferences = localRef.peek(null, monitor);
- } else {
- // return the list of all subdirectories
- List files = getFiles(references[0].asFile());
- pluginReferences = new ContentReference[files.size()];
- for (int i = 0; i < pluginReferences.length; i++) {
- File currentFile = (File) files.get(i);
- pluginReferences[i] = new ContentReference(null, currentFile.toURL());
- }
- };
-
- } catch (IOException e) {
- String urlString = (getFeature() == null) ? Policy.bind("FeaturePackagedContentProvider.NoFeature") : "" + getFeature().getURL(); //$NON-NLS-1$ //$NON-NLS-2$
- String refString = (references[0]==null)?Policy.bind("FeaturePackagedContentProvider.NoReference"):references[0].getIdentifier(); //$NON-NLS-1$
- String[] values = new String[]{pluginEntry.getVersionedIdentifier().toString(),refString,urlString};
- throw Utilities.newCoreException(Policy.bind("FeaturePackagedContentProvider.ErrorRetrieving",values), e); //$NON-NLS-1$
- }
- return pluginReferences;
- }
-
- /**
- * return all the files under the directory
- */
- private List getFiles(File dir) throws IOException {
- List result = new ArrayList();
-
- if (!dir.isDirectory())
- throw new IOException(Policy.bind("FeaturePackagedContentProvider.InvalidDirectory",dir.getPath())); //$NON-NLS-1$
-
- 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.addAll(getFiles(files[i]));
- } else {
- result.add(files[i]);
- }
- }
- return result;
- }
-
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedFactory.java
deleted file mode 100644
index f9e3987..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeaturePackagedFactory.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.update.internal.core;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.FeatureModelFactory;
-import org.eclipse.update.core.model.URLEntryModel;
-import org.xml.sax.SAXException;
-
-public class FeaturePackagedFactory extends BaseFeatureFactory {
-
- /*
- * @see IFeatureFactory#createFeature(URL,ISite)
- */
- public IFeature createFeature(URL url,ISite site) throws CoreException {
- Feature feature = null;
- InputStream featureStream = null;
-
- try {
-
- IFeatureContentProvider contentProvider = new FeaturePackagedContentProvider(url);
- ContentReference manifest = contentProvider.getFeatureManifestReference(null/*IProgressMonitor*/);
- featureStream = manifest.getInputStream();
- feature = (Feature)parseFeature(featureStream);
-
- // if there is no update URL for the Feature
- // use the Site URL
- if (feature.getUpdateSiteEntry()==null){
- URLEntryModel entryModel = createURLEntryModel();
- URL siteUrl = site.getURL();
- if (siteUrl!=null){
- entryModel.setURLString(siteUrl.toExternalForm());
- entryModel.resolve(siteUrl,null);
- feature.setUpdateSiteEntryModel(entryModel);
- }
- }
- feature.setFeatureContentProvider(contentProvider);
- feature.setSite(site);
- URL baseUrl = null;
- try {
- baseUrl = new URL(manifest.asURL(),"."); // make sure we have URL to feature directory //$NON-NLS-1$
- } catch(IOException e) {
- }
- feature.resolve(baseUrl, getResourceBundle(baseUrl));
- feature.markReadOnly();
-
- } catch (IOException e) {
- // if we cannot find the feature 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, "IOException opening the 'feature.xml' stream in the feature archive:" + url.toExternalForm(), e); //$NON-NLS-1$
- UpdateManagerPlugin.getPlugin().getLog().log(status);
- } catch (Exception e) {
- // other errors, we stop execution
- if (e instanceof CoreException) {
- throw (CoreException)e;
- };
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.WARNING, id, IStatus.OK, Policy.bind("FeatureFactory.ParsingError", url.toExternalForm()), e); //$NON-NLS-1$
- throw new CoreException(status);
- }finally {
- try {
- if (featureStream!=null)
- featureStream.close();
- } catch (Exception e) {
- }
- }
- return feature;
- }
-
-}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureTypeFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureTypeFactory.java
deleted file mode 100644
index 60fef6f..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/FeatureTypeFactory.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.eclipse.update.internal.core;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.IFeatureFactory;
-import org.eclipse.update.internal.core.Policy;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- *
- */
-public final class FeatureTypeFactory {
-
- private static FeatureTypeFactory inst;
- private Map factories;
-
- private static final String SIMPLE_EXTENSION_ID = "featureTypes"; //$NON-NLS-1$
-
- /**
- * hide ctr
- */
- private FeatureTypeFactory() {
- }
-
- public static FeatureTypeFactory getInstance() {
- if (inst == null)
- inst = new FeatureTypeFactory();
- return inst;
- }
-
-
- /**
- * return the factory for the type
- */
- public IFeatureFactory getFactory(String type) throws CoreException {
- //
- Object instance = getFactories().get(type);
- if (instance==null) {
- instance = createFactoryFor(type);
- getFactories().put(type,instance);
- }
- return (IFeatureFactory) instance;
- }
-
- /**
- *
- */
- private IFeatureFactory createFactoryFor(String type) throws CoreException {
- IFeatureFactory result = null;
-
- String pluginID = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
- IConfigurationElement[] elements = pluginRegistry.getConfigurationElementsFor(pluginID,SIMPLE_EXTENSION_ID,type);
- if (elements==null || elements.length==0){
- IStatus status = new Status(IStatus.ERROR,pluginID,IStatus.OK,Policy.bind("FeatureTypeFactory.UnableToFindFeatureFactory",type),null); //$NON-NLS-1$
- throw new CoreException(status);
- } else {
- IConfigurationElement element = elements[0];
- result = (IFeatureFactory)element.createExecutableExtension("class"); //$NON-NLS-1$
- }
- return result;
- }
-
- /**
- * Gets the actories.
- * @return Returns a Map
- */
- private Map getFactories() {
- if (factories==null) factories = new HashMap();
- return factories;
- }
-
- /**
- * Sets the actories.
- * @param actories The actories to set
- */
- private void setFactories(Map factories) {
- factories = factories;
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ISiteContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ISiteContentConsumer.java
deleted file mode 100644
index 1b1b19f..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/ISiteContentConsumer.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.update.core.*;
-
- /**
- * A content consumer manages the storage or archives, plugins and
- * feature inside an <code>IFeature</code> or an <code> ISite</code>
- *
- * A FeatureContentConsumer has a <i>parent</i> which is the entry (IFeature, IPluginEntry
- * or INonPluginEntry) that is going to be used for storage.
- *
- * Only a FeatureContentConsumer with an IFeature parent can open sub-FeatureContentConsumer.
- */
-
-public interface ISiteContentConsumer {
-
- /**
- * Stores a content reference into the FeatureContentConsumer
- * @param ContentReference the content reference to store
- * @param IProgressMonitor the progress monitor
- * @throws CoreException if an error occurs storing the content reference
- * @since 2.0
- */
- void store(ContentReference contentReference, IProgressMonitor monitor) throws CoreException;
-
- /**
- * opens a Non plugin Entry for storage
- * @return the new FeatureContentConsumer for this <code>INonPluginEntry</code>
- * @throws CoreException if the opens is done on a FeatureContentConsumer parent other than an IFeature.
- * @since 2.0
- */
-
- IContentConsumer open(INonPluginEntry nonPluginEntry) throws CoreException;
-
- /**
- * opens a Non plugin Entry for storage
- * @return the new FeatureContentConsumer for this <code>IPluginEntry</code>
- * @throws CoreException if the opens is done on a FeatureContentConsumer parent other than an IFeature.
- * @since 2.0
- */
-
- IContentConsumer open(IPluginEntry pluginEntry) throws CoreException;
-
- /**
- * closes the opened FeatureContentConsumer
- * @since 2.0
- */
-
- IFeatureReference close() throws CoreException ;
-
-
- /**
- * aborts the opened FeatureContentConsumer
- * @since 2.0
- */
-
- void abort();
- }
-
-
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/InstallConfiguration.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfiguration.java
deleted file mode 100644
index 5e60b4a..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallConfiguration.java
+++ /dev/null
@@ -1,435 +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 org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.boot.IPlatformConfiguration;
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.IFeatureReference;
-import org.eclipse.update.core.SiteManager;
-import org.eclipse.update.core.model.SiteModel;
-import org.eclipse.update.internal.model.*;
-
-/**
- * An InstallConfigurationModel is
- *
- */
-
-public class InstallConfiguration extends InstallConfigurationModel implements IInstallConfiguration, IWritable {
-
- private ListenersList listeners = new ListenersList();
-
- /**
- * default constructor.
- */
- public InstallConfiguration() {
- }
-
- /**
- * default constructor.
- */
- public InstallConfiguration(URL newLocation, String label) throws MalformedURLException {
- setLocationURLString(newLocation.toExternalForm());
- setLabel(label);
- setCurrent(false);
- resolve(newLocation, null);
- }
-
- /**
- * copy constructor
- */
- public InstallConfiguration(IInstallConfiguration config, URL newLocation, String label) throws MalformedURLException {
- setLocationURLString(newLocation.toExternalForm());
- setLabel(label);
- // do not copy list of listeners nor activities
- // ake a copy of the siteConfiguration object
- if (config != null) {
- IConfiguredSite[] sites = config.getConfiguredSites();
- if (sites != null) {
- for (int i = 0; i < sites.length; i++) {
- ConfiguredSite configSite = new ConfiguredSite(sites[i]);
- addConfigurationSiteModel(configSite);
- }
- }
- }
- // set dummy date as caller can call set date if the
- // date on the URL string has to be the same
- setCreationDate(new Date());
- setCurrent(false);
- resolve(newLocation, null);
- }
-
- /**
- *
- */
- public IConfiguredSite[] getConfiguredSites() {
- ConfiguredSiteModel[] result = getConfigurationSitesModel();
- if (result.length == 0)
- return new IConfiguredSite[0];
- else
- return (IConfiguredSite[]) result;
- }
-
- /**
- * Creates a Configuration Site and a new Site
- * The policy is from <code> org.eclipse.core.boot.IPlatformConfiguration</code>
- */
- public IConfiguredSite createConfiguredSite(File file)
- throws CoreException {
-
- ISite site = null;
- int policy = IPlatformConfiguration.ISitePolicy.USER_EXCLUDE;
-
- if (file.exists() && canWrite(file)) {
- site = InternalSiteManager.createSite(file);
- }
-
- //create config site
- BaseSiteLocalFactory factory = new BaseSiteLocalFactory();
- ConfiguredSite configSite =
- (ConfiguredSite) factory.createConfigurationSiteModel(
- (SiteModel) site,
- policy);
- configSite.isUpdateable(canWrite(file));
- if (site != null) {
- configSite.setPlatformURLString(site.getURL().toExternalForm());
-
- // obtain the list of plugins
- IPlatformConfiguration runtimeConfiguration =
- BootLoader.getCurrentPlatformConfiguration();
- ConfigurationPolicy configurationPolicy =
- (ConfigurationPolicy) configSite.getConfigurationPolicy();
- String[] pluginPath = configurationPolicy.getPluginPath(site, null);
- IPlatformConfiguration.ISitePolicy sitePolicy =
- runtimeConfiguration.createSitePolicy(
- configurationPolicy.getPolicy(),
- pluginPath);
-
- // change runtime
- IPlatformConfiguration.ISiteEntry siteEntry =
- runtimeConfiguration.createSiteEntry(site.getURL(), sitePolicy);
- runtimeConfiguration.configureSite(siteEntry);
- }
-
- return configSite;
- }
-
- /**
- *
- */
- public void addConfiguredSite(IConfiguredSite site) {
- if (!isCurrent() && isReadOnly())
- return;
-
- ConfigurationActivity activity = new ConfigurationActivity(IActivity.ACTION_SITE_INSTALL);
- activity.setLabel(site.getSite().getURL().toExternalForm());
- activity.setDate(new Date());
- ConfiguredSiteModel configSiteModel = (ConfiguredSiteModel) site;
- addConfigurationSiteModel(configSiteModel);
- configSiteModel.setInstallConfigurationModel(this);
- // 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.addActivityModel((ConfigurationActivityModel) activity);
- }
-
-
- /**
- *
- */
- public void removeConfiguredSite(IConfiguredSite site) {
-
- if (removeConfigurationSiteModel((ConfiguredSiteModel) site)) { // notify listeners
- Object[] configurationListeners = listeners.getListeners();
- for (int i = 0; i < configurationListeners.length; i++) {
- ((IInstallConfigurationChangedListener) configurationListeners[i]).installSiteRemoved(site);
- }
-
- //activity
- ConfigurationActivity activity = new ConfigurationActivity(IActivity.ACTION_SITE_REMOVE);
- activity.setLabel(site.getSite().getURL().toExternalForm());
- activity.setDate(new Date());
- activity.setStatus(IActivity.STATUS_OK);
- this.addActivityModel((ConfigurationActivityModel) activity);
-
- }
- }
-
- /**
- * @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, Policy.bind("InstallConfiguration.UnableToSaveConfiguration", exportFile.getAbsolutePath()), e); //$NON-NLS-1$
- throw new CoreException(status);
- }
- }
-
- /**
- * Deletes the configuration from its URL/location
- */
- public void remove() {
- // save the configuration
- if (getURL().getProtocol().equalsIgnoreCase("file")) { //$NON-NLS-1$
- // the location points to a file
- File file = new File(getURL().getFile());
- UpdateManagerUtils.removeFromFileSystem(file);
- }
- }
-
- /**
- * Saves the configuration into its URL/location
- * and changes the platform configuration
- */
- public void save(boolean isTransient) throws CoreException {
-
- // save the configuration.xml file
- saveConfigurationFile(isTransient);
-
- // Write info into platform for the next runtime
- IPlatformConfiguration runtimeConfiguration = BootLoader.getCurrentPlatformConfiguration();
- ConfiguredSiteModel[] configurationSites = getConfigurationSitesModel();
-
- // clean configured Entries
- IPlatformConfiguration.IFeatureEntry[] configuredFeatureEntries = runtimeConfiguration.getConfiguredFeatureEntries();
- for (int i = 0; i < configuredFeatureEntries.length; i++) {
- runtimeConfiguration.unconfigureFeatureEntry(configuredFeatureEntries[i]);
- }
-
- // Write the plugin path
- for (int i = 0; i < configurationSites.length; i++) {
- ConfiguredSite cSite = ((ConfiguredSite) configurationSites[i]);
- ConfigurationPolicy configurationPolicy = cSite.getConfigurationPolicy();
- String[] pluginPath = configurationPolicy.getPluginPath(cSite.getSite(), cSite.getPreviousPluginPath());
-
- IPlatformConfiguration.ISitePolicy sitePolicy = runtimeConfiguration.createSitePolicy(configurationPolicy.getPolicy(), pluginPath);
-
- URL urlToCheck = null;
- try {
- urlToCheck = new URL(cSite.getPlatformURLString());
- } catch (MalformedURLException e) {
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, Policy.bind("InstallConfiguration.UnableToCreateURL",cSite.getPlatformURLString()), e); //$NON-NLS-1$
- throw new CoreException(status);
- } catch (ClassCastException e) {
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, Policy.bind("InstallConfiguration.UnableToCast"), e); //$NON-NLS-1$
- throw new CoreException(status);
- }
-
- // if the URL already exist, set the policy
- IPlatformConfiguration.ISiteEntry siteEntry = runtimeConfiguration.findConfiguredSite(urlToCheck);
- if (siteEntry != null) {
- siteEntry.setSitePolicy(sitePolicy);
- } else {
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, Policy.bind("InstallConfiguration.UnableToFindConfiguredSite",urlToCheck.toExternalForm(), runtimeConfiguration.getConfigurationLocation().toExternalForm()), null); //$NON-NLS-1$
- throw new CoreException(status);
- }
-
- // write the primary features
- IFeatureReference[] configuredFeaturesRef = configurationPolicy.getConfiguredFeatures();
- for (int j = 0; j < configuredFeaturesRef.length; j++) {
- IFeature feature = configuredFeaturesRef[j].getFeature();
- if (feature.isPrimary()){
- String id = feature.getVersionedIdentifier().getIdentifier();
- String version = feature.getVersionedIdentifier().getVersion().toString();
- String application = feature.getApplication();
- URL url = feature.getURL();
- IPlatformConfiguration.IFeatureEntry featureEntry = runtimeConfiguration.createFeatureEntry(id,version,application,url);
- runtimeConfiguration.configureFeatureEntry(featureEntry);
- }
- }
-
-
- // write the platform
-
-
- }
-
- try {
- runtimeConfiguration.save();
- } catch (IOException e) {
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, Policy.bind("InstallConfiguration.UnableToSavePlatformConfiguration", runtimeConfiguration.getConfigurationLocation().toExternalForm()), e); //$NON-NLS-1$
- throw new CoreException(status);
- }
- }
-
- /**
- *
- */
- public void saveConfigurationFile(boolean isTransient) throws CoreException {
- // save the configuration
- if (getURL().getProtocol().equalsIgnoreCase("file")) { //$NON-NLS-1$
- // the location points to a file
- File file = new File(getURL().getFile());
- if (isTransient) file.deleteOnExit();
- export(file);
- }
- }
-
- /**
- * @see IWritable#write(int, PrintWriter)
- */
- public void write(int indent, PrintWriter w) {
- String gap = ""; //$NON-NLS-1$
- for (int i = 0; i < indent; i++)
- gap += " "; //$NON-NLS-1$
- String increment = ""; //$NON-NLS-1$
- for (int i = 0; i < IWritable.INDENT; i++)
- increment += " "; //$NON-NLS-1$
- w.print(gap + "<" + InstallConfigurationParser.CONFIGURATION + " "); //$NON-NLS-1$ //$NON-NLS-2$
- long time = (getCreationDate()!=null)?getCreationDate().getTime():0L;
- w.print("date=\"" + time + "\" "); //$NON-NLS-1$ //$NON-NLS-2$
- w.println(">"); //$NON-NLS-1$
- w.println(""); //$NON-NLS-1$
- // site configurations
- if (getConfigurationSitesModel() != null) {
- ConfiguredSiteModel[] sites = getConfigurationSitesModel();
- for (int i = 0; i < sites.length; i++) {
- ConfiguredSite element = (ConfiguredSite) sites[i];
- ((IWritable) element).write(indent + IWritable.INDENT, w);
- }
- }
- // activities
- if (getActivityModel() != null) {
- ConfigurationActivityModel[] activities = getActivityModel();
- for (int i = 0; i < activities.length; i++) {
- ConfigurationActivity element = (ConfigurationActivity) activities[i];
- ((IWritable) element).write(indent + IWritable.INDENT, w);
- }
- }
- // end
- w.println(gap + "</" + InstallConfigurationParser.CONFIGURATION + ">"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * 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, IProblemHandler handler) throws CoreException, InterruptedException {
-
- IConfiguredSite[] oldConfigSites = configuration.getConfiguredSites();
- IConfiguredSite[] nowConfigSites = this.getConfiguredSites();
-
- // create a hashtable of the *old* sites
- Map oldSitesMap = new Hashtable(0);
- for (int i = 0; i < oldConfigSites.length; i++) {
- IConfiguredSite 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 the old sites and the current sites
- if (nowConfigSites != null) {
- // for each current site, ask the old site
- // to calculate the delta
- String key = null;
- for (int i = 0; i < nowConfigSites.length; i++) {
- key = nowConfigSites[i].getSite().getURL().toExternalForm();
- IConfiguredSite oldSite = (IConfiguredSite) oldSitesMap.get(key);
- if (oldSite != null) {
- // the Site existed before, calculate the delta between its current state and the
- // state we are reverting to
- ((ConfiguredSite) oldSite).processDeltaWith(nowConfigSites[i], monitor, handler);
- nowConfigSites[i] = oldSite;
- } else {
- // the site didn't exist in the InstallConfiguration we are reverting to
- // unconfigure everything from this site so it is still present
- IFeatureReference[] featuresToUnconfigure = nowConfigSites[i].getSite().getFeatureReferences();
- for (int j = 0; j < featuresToUnconfigure.length; j++) {
- nowConfigSites[i].unconfigure(featuresToUnconfigure[j].getFeature());
- }
- }
- }
- // the new configuration has the exact same sites as the old configuration
- // the old configuration in the Map are either as-is because they don't exist
- // in the current one, or they are the delta from the current one to the old one
- Collection sites = oldSitesMap.values();
- if (sites != null && !sites.isEmpty()) {
- ConfiguredSiteModel[] sitesModel = new ConfiguredSiteModel[sites.size()];
- sites.toArray(sitesModel);
- setConfigurationSiteModel(sitesModel);
- }
- }
- }
-
-
-
- /**
- * @see IInstallConfiguration#getActivities()
- */
- public IActivity[] getActivities() {
- if (getActivityModel().length == 0)
- return new IActivity[0];
- return (IActivity[]) getActivityModel();
- }
-
- /**
- * Verify we can write on the file system
- */
- private static boolean canWrite(File file) {
- if (!file.isDirectory()) {
- file = file.getParentFile();
- }
-
- File tryFile = null;
- FileOutputStream out = null;
- try {
- tryFile = new File(file, "toDelete");
- out = new FileOutputStream(tryFile);
- out.write(0);
- } catch (IOException e) {
- return false;
- } finally {
- try {
- out.close();
- tryFile.delete();
- } catch (Exception e) {
- };
- }
-
- return true;
-
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallHandlerProxy.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallHandlerProxy.java
deleted file mode 100644
index 24543d3..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InstallHandlerProxy.java
+++ /dev/null
@@ -1,518 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLClassLoader;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.update.core.ContentReference;
-import org.eclipse.update.core.IFeature;
-import org.eclipse.update.core.IFeatureContentConsumer;
-import org.eclipse.update.core.IInstallHandler;
-import org.eclipse.update.core.IInstallHandlerEntry;
-import org.eclipse.update.core.INonPluginEntry;
-import org.eclipse.update.core.IPluginEntry;
-import org.eclipse.update.core.IVerificationListener;
-import org.eclipse.update.core.InstallMonitor;
-import org.eclipse.update.core.Utilities;
-
-public class InstallHandlerProxy implements IInstallHandler {
-
- private IFeature feature = null;
- private int type;
- private IInstallHandler handler = null;
- private IStatus savedStatus = null;
- private boolean DEBUG = false;
-
- private static final String EXT_PLUGIN = "org.eclipse.update.core";
- private static final String EXT_POINT = "installHandlers";
-
- private InstallHandlerProxy() {
- }
-
- public InstallHandlerProxy(
- int type,
- IFeature feature,
- IInstallHandlerEntry entry,
- InstallMonitor monitor)
- throws CoreException {
-
- initialize(type, feature, entry, monitor);
- }
-
- /*
- * @see IInstallHandler#initialize
- */
- public void initialize(
- int type,
- IFeature feature,
- IInstallHandlerEntry entry,
- InstallMonitor monitor)
- throws CoreException {
-
- DEBUG = UpdateManagerPlugin.DEBUG_SHOW_IHANDLER;
- // validate arguments
- if (feature == null)
- throw new IllegalArgumentException();
- this.feature = feature;
- this.type = type;
-
- // check if we have a handler entry specified in the feature.xml
- if (entry == null) {
- if (DEBUG)
- System.out.println("InstallHandler: not specified");
- return; // no handler entry
- }
-
- String library = entry.getLibrary();
- String handlerName = entry.getHandlerName();
- if (handlerName == null || handlerName.trim().equals("")) {
- if (DEBUG)
- System.out.println("InstallHandler: not specified");
- return; // no handler class spacified in entry
- }
- if (DEBUG) {
- System.out.println("InstallHandler: handler=" + handlerName);
- System.out.println(" path= " + library);
- }
-
- // get handler instance
- try {
- if (library == null || library.trim().equals(""))
- this.handler = getGlobalHandler(handlerName);
- else
- this.handler = getLocalHandler(library, handlerName);
- if (this.handler == null)
- return;
- handler.initialize(type, feature, entry, monitor);
- } catch (ClassNotFoundException e) {
- handleExceptionInInit(
- Policy.bind("InstallHandler.notFound", feature.getLabel()),
- e);
- //$NON-NLS-1$
- } catch (ClassCastException e) {
- handleExceptionInInit(
- Policy.bind("InstallHandler.invalidHandler", feature.getLabel()),
- e);
- //$NON-NLS-1$
- } catch (CoreException e) {
- handleExceptionInInit(null, e);
- } catch (Exception e) {
- handleExceptionInInit(
- Policy.bind("InstallHandler.unableToCreateHandler", feature.getLabel()),
- e);
- //$NON-NLS-1$
- }
-
- }
-
- /*
- * @see IInstallHandler#installInitiated
- */
- public void installInitiated() throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling installInitiated()");
- handler.installInitiated();
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#allPluginsDownloaded
- */
- public void pluginsDownloaded(IPluginEntry[] plugins) throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling pluginsDownloaded()");
- handler.pluginsDownloaded(plugins);
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#allPluginsInstalled
- */
- public void completeInstall(IFeatureContentConsumer consumer)
- throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling completeInstall()");
- handler.completeInstall(consumer);
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#allDataDownloaded
- */
- public void nonPluginDataDownloaded(
- INonPluginEntry[] nonPluginData,
- IVerificationListener listener)
- throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling nonPluginDataDownloaded()");
- handler.nonPluginDataDownloaded(nonPluginData, listener);
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#installCompleted
- */
- public void installCompleted(boolean success) throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling installCompleted()");
- handler.installCompleted(success);
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#configureInitiated
- */
- public void configureInitiated() throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling configureInitiated()");
- handler.configureInitiated();
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#completeConfigure
- */
- public void completeConfigure() throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling completeConfigure()");
- handler.completeConfigure();
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#configureCompleted
- */
- public void configureCompleted(boolean success) throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling configureCompleted()");
- handler.configureCompleted(success);
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#unconfigureInitiated
- */
- public void unconfigureInitiated() throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling unconfigureInitiated()");
- handler.unconfigureInitiated();
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#completeUnconfigure
- */
- public void completeUnconfigure() throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling completeUnconfigure()");
- handler.completeUnconfigure();
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#unconfigureCompleted
- */
- public void unconfigureCompleted(boolean success) throws CoreException {
- if (handler == null) {
- if (savedStatus == null)
- return;
- else
- throw new CoreException(savedStatus); // delayed exception
- } else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling unconfigureInitiated()");
- handler.unconfigureCompleted(success);
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- if (savedStatus != null)
- throw new CoreException(savedStatus); // delayed exception
- }
- }
-
- /*
- * @see IInstallHandler#uninstallInitiated
- */
- public void uninstallInitiated() throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling unconfigureInitiated()");
- handler.uninstallInitiated();
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#completeUninstall
- */
- public void completeUninstall() throws CoreException {
- if (handler == null)
- return;
- else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling completeUninstall()");
- handler.completeUninstall();
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- }
- }
-
- /*
- * @see IInstallHandler#uninstallCompleted
- */
- public void uninstallCompleted(boolean success) throws CoreException {
- if (handler == null) {
- if (savedStatus == null)
- return;
- else
- throw new CoreException(savedStatus); // delayed exception
- } else {
- try {
- if (DEBUG)
- System.out.println("InstallHandler: calling uninstallCompleted()");
- handler.uninstallCompleted(success);
- } catch (Throwable e) {
- handleExceptionInCall(e, feature);
- }
- if (savedStatus != null)
- throw new CoreException(savedStatus); // delayed exception
- }
- }
-
- /*
- * common exception handling for initialization
- */
- private void handleExceptionInInit(String s, Exception e)
- throws CoreException {
-
- CoreException ce;
- if (e instanceof CoreException)
- ce = (CoreException) e;
- else
- ce = UpdateManagerUtils.newCoreException(s, e);
-
- if (isUndoAction()) {
- // for "undo" operations, deactivate handler and log error
- String id =
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status =
- new Status(IStatus.ERROR, id, 0, "InstallHandler.deactivated", ce);
- //$NON-NLS-1$
- UpdateManagerPlugin.getPlugin().getLog().log(status);
- handler = null; // disable subsequent handler calls
- savedStatus = status;
- } else
- // for "do" operations, hurl ...
- throw ce;
- }
-
- /*
- * common exception handling for calls to install handler
- */
- private void handleExceptionInCall(Throwable e, IFeature feature)
- throws CoreException {
-
- CoreException ce;
- if (e instanceof CoreException)
- ce = (CoreException) e;
- else
- ce =
- UpdateManagerUtils.newCoreException(
- Policy.bind("InstallHandler.callException", feature.getLabel()),
- e);
- //$NON-NLS-1$
-
- if (isUndoAction()) {
- // for "undo" operations, deactivate handler and log error
- String id =
- UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status =
- new Status(IStatus.ERROR, id, 0, "InstallHandler.deactivated", ce);
- //$NON-NLS-1$
- UpdateManagerPlugin.getPlugin().getLog().log(status);
- handler = null; // disable subsequent handler calls
- savedStatus = status;
- } else
- // for "do" operations, hurl ...
- throw ce;
- }
-
- /*
- * Indicates whether we are doing (install, configure) or
- * undoing (uninstall, unconfigure)
- */
- private boolean isUndoAction() {
- if (this.type == IInstallHandler.HANDLER_ACTION_INSTALL
- || this.type == IInstallHandler.HANDLER_ACTION_CONFIGURE)
- return false; // causes exception to be thrown and action aborted
- else
- return true; // causes exception to be logged and action continues
- }
-
- /*
- * get an instance of handler downloaded as part of the feature
- */
- private IInstallHandler getLocalHandler(String lib, String name)
- throws Exception {
-
- // Get baseline URL for handler (relative to feature.xml). For
- // features being installed from a server (eg. http protocol)
- // the URL will most likely be to a local file copy containing the
- // unpacked feature jar.
- // FIXME: this is not clean. Our packaged features get unpacked
- // when the feature is selected (so UI can get at the contents) but
- // this is not guaranteed to be the behavior forever
- ContentReference baseRef =
- feature.getFeatureContentProvider().getFeatureManifestReference(null);
- URL base = null;
- if (baseRef != null)
- base = baseRef.asURL();
- if (base == null)
- throw UpdateManagerUtils.newCoreException(
- Policy.bind("InstallHandler.unableToCreateHandler", this.feature.getLabel()),
- null);
- //$NON-NLS-1$
-
- // determine loader class path
- URL cp = new URL(base, lib);
- if (this.type == IInstallHandler.HANDLER_ACTION_UNINSTALL) {
- // check if we are doing uninstall
- // ... need to make temp copy of library (being removed)
- File tempLib = File.createTempFile("tmp", ".jar");
- tempLib.deleteOnExit();
- FileOutputStream fos = null;
- InputStream is = null;
- try {
- fos = new FileOutputStream(tempLib);
- is = cp.openStream();
- Utilities.copy(is, fos, null);
- } finally {
- if (fos != null)
- try {
- fos.close();
- } catch (Exception e) {
- }
- if (is != null)
- try {
- is.close();
- } catch (Exception e) {
- }
- }
- cp = tempLib.toURL();
- }
-
- // create class loader, load and instantiate handler
- URLClassLoader loader =
- new URLClassLoader(new URL[] { cp }, this.getClass().getClassLoader());
- Class clazz = loader.loadClass(name);
- IInstallHandler handler = (IInstallHandler) clazz.newInstance();
- return handler;
- }
-
- /*
- * get instance of global handler registered via extension point
- */
- private IInstallHandler getGlobalHandler(String name) throws Exception {
-
- IPluginRegistry reg = Platform.getPluginRegistry();
- IConfigurationElement[] handlerExtension =
- reg.getConfigurationElementsFor(EXT_PLUGIN, EXT_POINT, name);
- if (handlerExtension == null || handlerExtension.length <= 0)
- throw UpdateManagerUtils.newCoreException(
- Policy.bind("InstallHandler.unableToCreateHandler", this.feature.getLabel()),
- null);
- //$NON-NLS-1$
-
- return (IInstallHandler) handlerExtension[0].createExecutableExtension("class");
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalFeatureReference.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalFeatureReference.java
deleted file mode 100644
index 0bcebd6..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalFeatureReference.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.io.PrintWriter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.core.model.FeatureReferenceModel;
-import org.eclipse.update.core.model.SiteModel;
-import org.eclipse.update.internal.core.Policy;
-
-/**
- *
- *
- */
-
-public class InternalFeatureReference extends FeatureReference implements IWritable {
-
- /*
- * @see IWritable#write(int, PrintWriter)
- */
- public void write(int indent, PrintWriter w) {
- String gap = ""; //$NON-NLS-1$
- for (int i = 0; i < indent; i++)
- gap += " "; //$NON-NLS-1$
- String increment = ""; //$NON-NLS-1$
- for (int i = 0; i < IWritable.INDENT; i++)
- increment += " "; //$NON-NLS-1$
-
- w.print(gap + "<feature "); //$NON-NLS-1$
- // feature type
- if (getType() != null) {
- w.print("type=\"" + Writer.xmlSafe(getType() + "\"")); //$NON-NLS-1$ //$NON-NLS-2$
- w.print(" "); //$NON-NLS-1$
- }
-
- // feature URL
- String URLInfoString = null;
- if (getURL() != null) {
- URLInfoString = UpdateManagerUtils.getURLAsString(getSite().getURL(), getURL());
- w.print("url=\"" + Writer.xmlSafe(URLInfoString) + "\""); //$NON-NLS-1$ //$NON-NLS-2$
- }
- w.println(">"); //$NON-NLS-1$
-
- String[] categoryNames = getCategoryNames();
- for (int i = 0; i < categoryNames.length; i++) {
- String element = categoryNames[i];
- w.println(gap + increment + "<category name=\"" + Writer.xmlSafe(element) + "\"/>"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- w.println("</feature>"); //$NON-NLS-1$
- }
-
-}
\ 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 85915dd..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/InternalSiteManager.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.*;
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.boot.IPlatformConfiguration;
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configuration.IConfiguredSite;
-import org.eclipse.update.configuration.ILocalSite;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.*;
-
-/**
- *
- */
-
-public class InternalSiteManager {
-
- public static ILocalSite localSite;
-
- public static final String DEFAULT_SITE_TYPE =
- SiteURLContentProvider.SITE_TYPE;
- private static final String DEFAULT_EXECUTABLE_SITE_TYPE =
- SiteFileContentProvider.SITE_TYPE;
-
- /**
- * 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 = SiteLocal.getLocalSite();
- }
- return localSite;
- }
-
- /**
- * Returns an ISite 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 site.xml file.
- */
- public static ISite getSite(URL siteURL) throws CoreException {
- ISite site = null;
-
- if (siteURL == null)
- return null;
-
- try {
- site = attemptCreateSite(DEFAULT_SITE_TYPE, siteURL);
- } catch (CoreException preservedException) {
- try {
- site = attemptCreateSite(DEFAULT_EXECUTABLE_SITE_TYPE, siteURL);
- } catch (CoreException retryException) {
-
- IStatus firstStatus = preservedException.getStatus();
- IStatus retry =
- new Status(
- IStatus.INFO,
- firstStatus.getPlugin(),
- IStatus.OK,
- " ** Retry accessing site using default installed format instead of default packaged format because of previous log",
- null);
- //$NON-NLS-1$
- IStatus retryStatus = retryException.getStatus();
-
- UpdateManagerPlugin.getPlugin().getLog().log(firstStatus);
- UpdateManagerPlugin.getPlugin().getLog().log(retry);
- UpdateManagerPlugin.getPlugin().getLog().log(retryStatus);
-
- throw preservedException;
- }
- }
-
- return site;
- }
-
- /**
- * Attempt to create a site
- * if the site guessed is not the type found,
- * attempt to create a type with the type found in the site.xml
- */
- private static ISite attemptCreateSite(String guessedTypeSite, URL siteURL)
- throws CoreException {
- ISite site = null;
-
- try {
- site = createSite(guessedTypeSite, siteURL);
- } catch (InvalidSiteTypeException e) {
-
- //DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_TYPE) {
- UpdateManagerPlugin.getPlugin().debug(
- "The Site :"
- + siteURL.toExternalForm()
- + " is a different type than the guessed type based on the protocol. new Type:"
- + e.getNewType());
- //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // the type in the site.xml is not the one expected
- // attempt to use this type instead
- try {
- InvalidSiteTypeException exception = (InvalidSiteTypeException) e;
- if (exception.getNewType() == null)
- throw e;
- site = createSite(exception.getNewType(), siteURL);
- } catch (InvalidSiteTypeException e1) {
- throw Utilities.newCoreException(
- Policy.bind(
- "InternalSiteManager.UnableToCreateSiteWithType",
- e.getNewType(),
- siteURL.toExternalForm()),
- e1);
- //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- return site;
- }
-
- /**
- * create an instance of a class that implements ISite
- *
- * the URL can be of the following form
- * 1 protocol://...../
- * 2 protocol://.....
- * 3 protocol://..../site.xml
- * 4 protocol://...#...
- *
- * 1 If the file of the file of teh url ends with '/', attempt to open the stream.
- * if it fails, add site.xml and attempt to open the stream
- *
- * 2 attempt to open the stream
- * fail
- * add '/site.xml' and attempt to open the stream
- * sucess
- * attempt to parse, if it fails, add '/site.xml' and attempt to open the stream
- *
- * 3 open the stream
- *
- * 4 open the stream
- */
- private static ISite createSite(String siteType, URL url)
- throws CoreException, InvalidSiteTypeException {
- ISite site = null;
- ISiteFactory factory = SiteTypeFactory.getInstance().getFactory(siteType);
-
- try {
-
- site = factory.createSite(url);
-
- } catch (CoreException e) {
- // if the URL is pointing to either a file
- // or a directory, without reference
- if (url.getRef() != null) {
- // 4 nothing we can do
- throw Utilities.newCoreException(
- Policy.bind(
- "InternalSiteManager.UnableToAccessURL",
- url.toExternalForm(),
- e.getMessage()),
- e);
- //$NON-NLS-1$
- } else if (url.getFile().endsWith("/")) { //$NON-NLS-1$
- // 1 try to add site.xml
- URL urlRetry;
- try {
- urlRetry = new URL(url, Site.SITE_XML);
- } catch (MalformedURLException e1) {
- throw Utilities.newCoreException(
- Policy.bind(
- "InternalSiteManager.UnableToCreateURL",
- url.toExternalForm() + "+" + Site.SITE_XML),
- e1);
- //$NON-NLS-1$ //$NON-NLS-2$
- }
- try {
- site = factory.createSite(urlRetry);
- } catch (CoreException e1) {
- throw Utilities.newCoreException(
- Policy.bind(
- "InternalSiteManager.UnableToAccessURL",
- url.toExternalForm(),
- e.getMessage()),
- url.toExternalForm(),
- urlRetry.toExternalForm(),
- e,
- e1);
- //$NON-NLS-1$
- }
- } else if (url.getFile().endsWith(Site.SITE_XML)) {
- // 3 nothing we can do
- throw Utilities.newCoreException(
- Policy.bind(
- "InternalSiteManager.UnableToAccessURL",
- url.toExternalForm(),
- e.getMessage()),
- e);
- //$NON-NLS-1$
- } else {
- // 2 try to add /site.xml
- URL urlRetry;
- try {
- urlRetry =
- new URL(
- url.getProtocol(),
- url.getHost(),
- url.getPort(),
- url.getFile() + "/" + Site.SITE_XML);
- //$NON-NLS-1$
- } catch (MalformedURLException e1) {
- throw Utilities.newCoreException(
- Policy.bind(
- "InternalSiteManager.UnableToCreateURL",
- url.toExternalForm() + "+" + Site.SITE_XML),
- e1);
- //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- try {
- site = factory.createSite(urlRetry);
- } catch (CoreException e1) {
- throw Utilities.newCoreException(
- Policy.bind(
- "InternalSiteManager.UnableToAccessURL",
- url.toExternalForm(),
- e.getMessage()),
- url.toExternalForm(),
- urlRetry.toExternalForm(),
- e,
- e1);
- //$NON-NLS-1$
- }
- }
-
- }
-
- return site;
- }
-
- /**
- * 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 {
- ISite site = null;
- if (siteLocation != null) {
- try {
- URL siteURL = siteLocation.toURL();
- site = getSite(siteURL);
- } catch (MalformedURLException e) {
- throw Utilities.newCoreException(
- Policy.bind(
- "InternalSiteManager.UnableToCreateURL",
- siteLocation.getAbsolutePath()),
- e);
- //$NON-NLS-1$
- }
- }
- return site;
- }
-
-
-}
\ 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/NonPluginEntryContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/NonPluginEntryContentConsumer.java
deleted file mode 100644
index 41c3800..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/NonPluginEntryContentConsumer.java
+++ /dev/null
@@ -1,54 +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.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.*;
-
-/**
- * Default implementation of an Executable DefaultFeature
- */
-
-public class NonPluginEntryContentConsumer extends ContentConsumer {
-
- private boolean closed = false;
-
- private IContentConsumer contentConsumer;
-
- /**
- * Constructor
- */
- public NonPluginEntryContentConsumer(IContentConsumer contentConsumer){
- this.contentConsumer = contentConsumer;
- }
-
- /*
- * @see IFeatureContentConsumer#store(ContentReference, IProgressMonitor)
- */
- public void store(ContentReference contentReference, IProgressMonitor monitor) throws CoreException {
- contentConsumer.store( contentReference,monitor);
- }
-
- /*
- * @see IFeatureContentConsumer#close()
- */
- public void close() throws CoreException {
- closed = true;
- contentConsumer.close();
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PluginEntryContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PluginEntryContentConsumer.java
deleted file mode 100644
index 15fba0f..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/PluginEntryContentConsumer.java
+++ /dev/null
@@ -1,56 +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.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.*;
-
-/**
- * Default implementation of an Executable DefaultFeature
- */
-
-public class PluginEntryContentConsumer extends ContentConsumer {
-
- private boolean closed = false;
-
- private IContentConsumer contentConsumer;
-
- /**
- * Constructor
- */
- public PluginEntryContentConsumer(IContentConsumer contentConsumer){
- this.contentConsumer = contentConsumer;
- }
-
- /*
- * @see IFeatureContentConsumer#store(ContentReference, IProgressMonitor)
- */
- public void store(ContentReference contentReference, IProgressMonitor monitor) throws CoreException {
- if (!closed){
- contentConsumer.store( contentReference,monitor);
- }
- }
-
- /*
- * @see IFeatureContentConsumer#close()
- */
- public void close() throws CoreException {
- closed = true;
- contentConsumer.close();
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Policy.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Policy.java
deleted file mode 100644
index 8e9b99e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Policy.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (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.update.internal.core.messages"; //$NON-NLS-1$
-
- 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 Policy.bind("Policy.NoMessageAvailable"); //$NON-NLS-1$
- String message = null;
- try {
- message = bundle.getString(id);
- } catch (MissingResourceException e) {
- // If we got an exception looking for the message, fail gracefully by just returning
- // the id we were looking for. In most cases this is semi-informative so is not too bad.
- return Policy.bind("Policy.MissingMessage", id , bundleName); //$NON-NLS-1$ //$NON-NLS-2$
- }
- 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("{"+Policy.bind("Policy.Missing", Integer.toString(index) )+"}"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
- }
- } 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/update/internal/core/SiteContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteContentConsumer.java
deleted file mode 100644
index 7ee9e4b..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteContentConsumer.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.update.core.ISite;
-import org.eclipse.update.internal.core.*;
-
-/**
- * A default implementation for IFeatureContentConsumer
- * </p>
- * @since 2.0
- */
-
-public abstract class SiteContentConsumer implements ISiteContentConsumer {
-
- private ISite site;
-
- /*
- * @see ISiteContentConsumer#setSite(ISite)
- */
- /**
- * Sets the site.
- * @param site The site to set
- */
- public void setSite(ISite site) {
- this.site = site;
- }
-
- /**
- * Gets the site.
- * @return Returns a ISite
- */
- public ISite getSite() {
- return site;
- }
-
-}
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 be7106c..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFile.java
+++ /dev/null
@@ -1,306 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.*;
-
-/**
- * Site on the File System
- */
-public class SiteFile extends Site {
-
- /**
- * plugin entries
- */
- private List pluginEntries = new ArrayList(0);
-
- /**
- *
- */
- public ISiteContentConsumer createSiteContentConsumer(IFeature targetFeature) throws CoreException {
- SiteFileContentConsumer consumer = new SiteFileContentConsumer(targetFeature);
- consumer.setSite(this);
- return consumer;
- }
-
- /**
- * @see ISite#getDefaultInstallableFeatureType()
- */
- public String getDefaultPackagedFeatureType() {
- return DEFAULT_INSTALLED_FEATURE_TYPE;
- }
-
- /*
- * @see ISite#install(IFeature, IVerifier, IProgressMonitor)
- */
- public IFeatureReference install(IFeature sourceFeature, IVerificationListener verificationListener, IProgressMonitor progress) throws CoreException {
-
- if (sourceFeature==null) return null;
-
- // make sure we have an InstallMonitor
- InstallMonitor monitor;
- if (progress == null)
- monitor = null;
- else if (progress instanceof InstallMonitor)
- monitor = (InstallMonitor) progress;
- else
- monitor = new InstallMonitor(progress);
-
- // create new executable feature and install source content into it
- IFeature localFeature = createExecutableFeature(sourceFeature);
- IFeatureReference localFeatureReference = sourceFeature.install(localFeature, verificationListener, monitor);
- if (localFeature instanceof FeatureModel)
- ((FeatureModel) localFeature).markReadOnly();
- this.addFeatureReference(localFeatureReference);
-
- // add the installed plugins directories as archives entry
- SiteFileFactory archiveFactory = new SiteFileFactory();
- ArchiveReferenceModel archive = null;
- IPluginEntry[] pluginEntries = localFeatureReference.getFeature().getPluginEntries();
- for (int i = 0; i <pluginEntries.length; i++) {
- String versionId = pluginEntries[i].getVersionedIdentifier().toString();
- String pluginID = Site.DEFAULT_PLUGIN_PATH + versionId + FeaturePackagedContentProvider.JAR_EXTENSION;
- archive = archiveFactory.createArchiveReferenceModel();
- archive.setPath(pluginID);
- try {
- URL url = new URL(getURL(), Site.DEFAULT_PLUGIN_PATH + versionId +File.separator);
- archive.setURLString(url.toExternalForm());
- archive.resolve(url,null);
- this.addArchiveReferenceModel(archive);
- } catch (MalformedURLException e){
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- String urlString = (getURL()!=null)?getURL().toExternalForm():""; //$NON-NLS-1$
- urlString +=Site.DEFAULT_PLUGIN_PATH + pluginEntries[i].toString();
- IStatus status = new Status(IStatus.ERROR,id,IStatus.OK,Policy.bind("SiteFile.UnableToCreateURL",urlString),e); //$NON-NLS-1$
- throw new CoreException(status);
- }
- }
- return localFeatureReference;
- }
-
- /*
- * @see ISite#remove(IFeature, IProgressMonitor)
- */
- public void remove(IFeature feature, IProgressMonitor progress) throws CoreException {
-
- // make sure we have an InstallMonitor
- InstallMonitor monitor;
- if (progress == null)
- monitor = null;
- else if (progress instanceof InstallMonitor)
- monitor = (InstallMonitor) progress;
- else
- monitor = new InstallMonitor(progress);
-
- // Setup optional install handler
- InstallHandlerProxy handler =
- new InstallHandlerProxy(
- IInstallHandler.HANDLER_ACTION_UNINSTALL,
- feature,
- feature.getInstallHandlerEntry(),
- monitor);
- boolean success = false;
- Throwable originalException = null;
-
- try {
- handler.uninstallInitiated();
-
- // remove the feature and the plugins if they are not used and not activated
- // get the plugins from the feature
- IPluginEntry[] pluginsToRemove = getPluginEntriesOnlyReferencedBy(feature);
-
- if (monitor!=null){
- monitor.beginTask(Policy.bind("SiteFile.Removing")+feature.getLabel(),pluginsToRemove.length+1); //$NON-NLS-1$
- }
-
- //finds the contentReferences for this IPluginEntry
- for (int i = 0; i < pluginsToRemove.length; i++) {
- remove(feature, pluginsToRemove[i], monitor);
- }
-
- // remove the feature content
- ContentReference[] references = feature.getFeatureContentProvider().getFeatureEntryArchiveReferences(monitor);
- for (int i = 0; i < references.length; i++) {
- try {
- UpdateManagerUtils.removeFromFileSystem(references[i].asFile());
- if (monitor!=null) monitor.worked(1);
- } catch (IOException e) {
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, Policy.bind("SiteFile.CannotRemoveFeature", feature.getVersionedIdentifier().getIdentifier(), getURL().toExternalForm()), e); //$NON-NLS-1$
- throw new CoreException(status);
- }
- }
-
- handler.completeUninstall();
-
- // remove feature reference from the site
- IFeatureReference[] featureReferences = getFeatureReferences();
- if (featureReferences != null) {
- for (int indexRef = 0; indexRef < featureReferences.length; indexRef++) {
- IFeatureReference element = featureReferences[indexRef];
- if (element.equals(feature)) {
- removeFeatureReferenceModel((FeatureReferenceModel) element);
- break;
- }
- }
- }
-
- success = true;
- } catch(Throwable t) {
- originalException = t;
- } finally {
- Throwable newException = null;
- try {
- handler.uninstallCompleted(success);
- } catch(Throwable t) {
- newException = t;
- }
- if (originalException != null) // original exception wins
- throw UpdateManagerUtils.newCoreException(Policy.bind("InstallHandler.error", feature.getLabel()),originalException); //$NON-NLS-1$
- if (newException != null)
- throw UpdateManagerUtils.newCoreException(Policy.bind("InstallHandler.error", feature.getLabel()),newException); //$NON-NLS-1$
- }
- }
-
- /**
- * 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 ISite#getDownloadSize(IFeature)
- *
- */
- public long getDownloadSizeFor(IFeature feature) {
- long result = 0;
- IPluginEntry[] entriesToInstall = feature.getPluginEntries();
- IPluginEntry[] siteEntries = this.getPluginEntries();
- entriesToInstall = UpdateManagerUtils.diff(entriesToInstall, siteEntries);
-
- // FIXME Intersection for NonPluginEntry (using Install Handler)
- try {
- result = feature.getFeatureContentProvider().getDownloadSizeFor(entriesToInstall, /* non plugin entry []*/
- null);
- } catch (CoreException e) {
- UpdateManagerPlugin.getPlugin().getLog().log(e.getStatus());
- result = ContentEntryModel.UNKNOWN_SIZE;
- }
- return result;
- }
-
- /**
- * 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 ISite#getDownloadSizeFor(IFeature)
- *
- */
- public long getInstallSizeFor(IFeature feature) {
- long result = 0;
- IPluginEntry[] entriesToInstall = feature.getPluginEntries();
- IPluginEntry[] siteEntries = this.getPluginEntries();
- entriesToInstall = UpdateManagerUtils.diff(entriesToInstall, siteEntries);
-
- // FIXME Intersection for NonPluginEntry (using Install Handler)
- try {
- result = feature.getFeatureContentProvider().getInstallSizeFor(entriesToInstall, /* non plugin entry []*/
- null);
- } catch (CoreException e) {
- UpdateManagerPlugin.getPlugin().getLog().log(e.getStatus());
- result = ContentEntryModel.UNKNOWN_SIZE;
- }
-
- return result;
- }
-
- /**
- * Adds a plugin entry
- * Either from parsing the file system or
- * installing a feature
- *
- * We cannot figure out the list of plugins by reading the Site.xml as
- * the archives tag are optionals
- */
- public void addPluginEntry(IPluginEntry pluginEntry) {
- pluginEntries.add(pluginEntry);
- }
-
- /**
- * @see IPluginContainer#getPluginEntries()
- */
- public IPluginEntry[] getPluginEntries() {
- IPluginEntry[] result = new IPluginEntry[0];
- if (!(pluginEntries == null || pluginEntries.isEmpty())) {
- result = new IPluginEntry[pluginEntries.size()];
- pluginEntries.toArray(result);
- }
- return result;
- }
-
- /**
- * @see IPluginContainer#getPluginEntryCount()
- */
- public int getPluginEntryCount() {
- return getPluginEntries().length;
- }
-
- /**
- *
- */
- private IFeature createExecutableFeature(IFeature sourceFeature) throws CoreException {
- IFeature result = null;
- IFeatureFactory factory = FeatureTypeFactory.getInstance().getFactory(DEFAULT_INSTALLED_FEATURE_TYPE);
- result = factory.createFeature(/*URL*/null, this);
-
- // at least set the version identifier to be the same
- ((FeatureModel) result).setFeatureIdentifier(sourceFeature.getVersionedIdentifier().getIdentifier());
- ((FeatureModel) result).setFeatureVersion(sourceFeature.getVersionedIdentifier().getVersion().toString());
- return result;
- }
-
- /**
- * adds a feature reference
- * @param feature The feature reference to add
- */
- private void addFeatureReference(IFeatureReference feature) {
- addFeatureReferenceModel((FeatureReferenceModel) feature);
- }
-
- /**
- *
- */
- private void remove(IFeature feature, IPluginEntry pluginEntry, InstallMonitor monitor) throws CoreException {
-
- if (pluginEntry == null)
- return;
-
- ContentReference[] references = feature.getFeatureContentProvider().getPluginEntryArchiveReferences(pluginEntry, monitor);
- for (int i = 0; i < references.length; i++) {
- try {
- UpdateManagerUtils.removeFromFileSystem(references[i].asFile());
- if (monitor!=null) monitor.worked(1);
- } catch (IOException e) {
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, Policy.bind("SiteFile.CannotRemovePlugin", pluginEntry.getVersionedIdentifier().toString(), getURL().toExternalForm()), e); //$NON-NLS-1$
- throw new CoreException(status);
- }
- }
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileContentConsumer.java
deleted file mode 100644
index 6acd94f..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileContentConsumer.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.*;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.FeatureModel;
-
-/**
- * Site on the File System
- */
-public class SiteFileContentConsumer extends SiteContentConsumer {
-
- private String path;
- private IFeature feature;
-
- /**
- * Constructor for FileSite
- */
- public SiteFileContentConsumer(IFeature feature) {
- this.feature = feature;
- }
-
- /**
- * return the path in whichh the Feature will be installed
- */
- private String getFeaturePath() throws CoreException {
- String featurePath = null;
- try {
- VersionedIdentifier featureIdentifier = feature.getVersionedIdentifier();
- String path =
- Site.DEFAULT_INSTALLED_FEATURE_PATH
- + featureIdentifier.toString()
- + File.separator;
- URL newURL = new URL(getSite().getURL(), path);
- featurePath = newURL.getFile();
- } catch (MalformedURLException e) {
- throw Utilities.newCoreException(
- Policy.bind("SiteFileContentConsumer.UnableToCreateURL") + e.getMessage(),
- e);
- //$NON-NLS-1$
- }
- return featurePath;
- }
-
- /*
- * @see ISiteContentConsumer#open(INonPluginEntry)
- */
- public IContentConsumer open(INonPluginEntry nonPluginEntry)
- throws CoreException {
- return new SiteFileNonPluginContentConsumer(getFeaturePath());
- }
-
- /*
- * @see ISiteContentConsumer#open(IPluginEntry)
- */
- public IContentConsumer open(IPluginEntry pluginEntry) throws CoreException {
- return new SiteFilePluginContentConsumer(pluginEntry, getSite());
- }
-
- /*
- * @see ISiteContentConsumer#store(ContentReference, IProgressMonitor)
- */
- public void store(ContentReference contentReference, IProgressMonitor monitor)
- throws CoreException {
- InputStream inStream = null;
- String featurePath = getFeaturePath();
- String contentKey = contentReference.getIdentifier();
- featurePath += contentKey;
- try {
- inStream = contentReference.getInputStream();
- UpdateManagerUtils.copyToLocal(inStream, featurePath, null);
- } catch (IOException e) {
- throw Utilities.newCoreException(
- Policy.bind("GlobalConsumer.ErrorCreatingFile", featurePath),
- e);
- //$NON-NLS-1$
- } finally {
- try {
- // close stream
- inStream.close();
- } catch (Exception e) {
- }
- }
-
- }
-
- /*
- * @see ISiteContentConsumer#close()
- */
- public IFeatureReference close() throws CoreException {
-
- InternalFeatureReference ref = new InternalFeatureReference();
- ref.setSite(getSite());
- File file = null;
-
- try {
- file = new File(getFeaturePath());
- ref.setURL(file.toURL());
- } catch (MalformedURLException e) {
- throw Utilities.newCoreException(
- Policy.bind(
- "SiteFileContentConsumer.UnableToCreateURLForFile",
- file.getAbsolutePath()),
- e);
- //$NON-NLS-1$
- }
-
- if (ref != null)
- ref.markReadOnly();
- return ref;
- }
-
- /*
- *
- */
- public void abort() {
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileContentProvider.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileContentProvider.java
deleted file mode 100644
index adfd15e..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileContentProvider.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.InvalidSiteTypeException;
-
-/**
- * Site on the File System
- */
-public class SiteFileContentProvider extends SiteContentProvider {
-
- private String path;
-
- public static final String INSTALL_FEATURE_PATH = "install/features/"; //$NON-NLS-1$
- public static final String SITE_TYPE = "org.eclipse.update.core.file"; //$NON-NLS-1$
-
- /**
- * Constructor for FileSite
- */
- public SiteFileContentProvider(URL url) {
- super(url);
- }
-
-
-
- /**
- * move into contentSelector, comment to provider and consumer (SiteFile)
- */
- private String getFeaturePath(VersionedIdentifier featureIdentifier) {
- String path = getURL().getFile();
- String featurePath = path + INSTALL_FEATURE_PATH + featureIdentifier.toString();
- return featurePath;
- }
-
-
- /*
- * @see ISiteContentProvider#getArchiveReference(String)
- */
- public URL getArchiveReference(String archiveId) throws CoreException {
- URL contentURL = null;
-
- contentURL = getArchiveURLfor(archiveId);
- // if there is no mapping in the site.xml
- // for this archiveId, use the default one
- if (contentURL==null) {
- return super.getArchiveReference(archiveId);
- }
-
- return contentURL;
- }
-
- /**
- * return the URL associated with the id of the 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
- */
- private URL getArchiveURLfor(String archiveId) {
- URL result = null;
- boolean found = false;
-
- IArchiveReference[] siteArchives = getSite().getArchives();
- if (siteArchives.length > 0) {
- for (int i = 0; i < siteArchives.length && !found; i++) {
- if (archiveId.trim().equalsIgnoreCase(siteArchives[i].getPath())) {
- result = siteArchives[i].getURL();
- found = true;
- break;
- }
- }
- }
- return result;
- }
-}
-
-
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileFactory.java
deleted file mode 100644
index 0d03198..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileFactory.java
+++ /dev/null
@@ -1,399 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.model.*;
-import org.xml.sax.SAXException;
-
-public class SiteFileFactory extends BaseSiteFactory {
-
- // private when parsing file system
- private SiteFile site;
-
- /**
- * manages the versionedIdentifier and location of parsed plugins
- */
- public class PluginIdentifier {
- private VersionedIdentifier id;
- private File location;
- public PluginIdentifier(VersionedIdentifier id, File location) {
- this.id = id;
- this.location = location;
- }
-
- public String getIdentifier() {
- if (id != null)
- return id.getIdentifier();
- return null;
- }
-
- public Version getVersion() {
- if (id != null)
- return id.getVersion();
- return null;
- }
-
- public File getLocation() {
- return location;
- }
-
- public String toString() {
- if (id != null)
- return id.toString();
- return ""; //$NON-NLS-1$
- }
- }
-
- /*
- * @see ISiteFactory#createSite(URL,boolean)
- */
- public ISite createSite(URL url)
- throws CoreException, InvalidSiteTypeException {
-
- Site site = null;
- InputStream siteStream = null;
- SiteModelFactory factory = (SiteModelFactory) this;
-
- try {
- // if url points to a directory
- // attempt to parse site.xml
- String path = url.getFile();
- File siteLocation = new File(path);
- if (siteLocation.isDirectory()) {
- // need to add '/' if it is not there
- if (!(path.endsWith("/") || path.endsWith(File.separator))) { //$NON-NLS-1$
- url =
- new URL(url.getProtocol(), url.getHost(), url.getPort(), url.getFile() + "/");
- //$NON-NLS-1$
- }
-
- if (new File(siteLocation, Site.SITE_XML).exists()) {
- siteStream = new FileInputStream(new File(siteLocation, Site.SITE_XML));
- site = (Site) factory.parseSite(siteStream);
- } else {
- // parse siteLocation
- site = parseSite(siteLocation);
- }
- } else {
- // we are not pointing to a directory
- // attempt to parse the file
- try {
- URL resolvedURL = URLEncoder.encode(url);
- siteStream = resolvedURL.openStream();
- site = (Site) factory.parseSite(siteStream);
- } catch (IOException e) {
-
- // attempt to parse parent directory
- File file = new File(url.getFile());
- File parentDirectory = file.getParentFile();
-
- // create directory if it doesn't exist
- if (parentDirectory != null && !parentDirectory.exists()) {
- parentDirectory.mkdirs();
- }
-
- if (parentDirectory == null || !parentDirectory.isDirectory())
- throw Utilities.newCoreException(Policy.bind("SiteFileFactory.UnableToObtainParentDirectory", file.getAbsolutePath()),null); //$NON-NLS-1$
-
- site = parseSite(parentDirectory);
-
- }
- }
-
- SiteContentProvider contentProvider = new SiteFileContentProvider(url);
- site.setSiteContentProvider(contentProvider);
- contentProvider.setSite(site);
- site.resolve(url, getResourceBundle(url));
-
- // Do not set read only as may install in it
- //site.markReadOnly();
- } catch (MalformedURLException e){
- throw Utilities.newCoreException("Unable to create URL",e);
- } catch (IOException e){
- throw Utilities.newCoreException("Unable to access Site",e);
- } finally {
- try {
- if (siteStream != null)
- siteStream.close();
- } catch (Exception e) {
- }
- }
- return site;
- }
- /**
- * Method parseSite.
- */
- public Site parseSite(File directory) throws CoreException {
-
- this.site = (SiteFile) createSiteMapModel();
-
- if (!directory.exists())
- throw Utilities.newCoreException(Policy.bind("SiteFileFactory.FileDoesNotExist", directory.getAbsolutePath()),null); //$NON-NLS-1$
-
- File pluginPath = new File(directory, Site.DEFAULT_PLUGIN_PATH);
-
- //PACKAGED
- parsePackagedFeature(directory); // in case it contains JAR files
-
- parsePackagedPlugins(pluginPath);
-
- // INSTALLED
- parseInstalledFeature(directory);
-
- parseInstalledPlugin(pluginPath);
-
-
- return (Site) site;
-
- }
-
- /**
- * Method parseFeature.
- * @throws CoreException
- */
- private void parseInstalledFeature(File directory) throws CoreException {
-
- File featureDir = new File(directory, Site.DEFAULT_INSTALLED_FEATURE_PATH);
- if (featureDir.exists()) {
- String[] dir;
- FeatureReferenceModel featureRef;
- URL featureURL;
- String newFilePath = null;
-
- try {
- // handle the installed featuresConfigured under featuresConfigured subdirectory
- dir = featureDir.list();
- for (int index = 0; index < dir.length; index++) {
-
- SiteFileFactory archiveFactory = new SiteFileFactory();
- // the URL must ends with '/' for the bundle to be resolved
- newFilePath = dir[index] + (dir[index].endsWith("/") ? "/" : "");
- //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- featureURL = new File(featureDir, newFilePath).toURL();
-
- featureRef = archiveFactory.createFeatureReferenceModel();
- featureRef.setSiteModel(site);
- featureRef.setURLString(featureURL.toExternalForm());
- featureRef.setType(ISite.DEFAULT_INSTALLED_FEATURE_TYPE);
- ((Site) site).addFeatureReferenceModel(featureRef);
-
- }
- } catch (MalformedURLException e) {
- throw Utilities.newCoreException(
- Policy.bind("SiteFileFactory.UnableToCreateURLForFile", newFilePath),
- e);
- //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Method parseFeature.
- * @throws CoreException
- */
- private void parsePackagedFeature(File directory) throws CoreException {
-
- // FEATURES
- File featureDir = new File(directory, Site.DEFAULT_FEATURE_PATH);
- if (featureDir.exists()) {
- String[] dir;
- FeatureReferenceModel featureRef;
- URL featureURL;
- String newFilePath = null;
-
- try {
- // handle the installed featuresConfigured under featuresConfigured subdirectory
- dir = featureDir.list(FeaturePackagedContentProvider.filter);
- for (int index = 0; index < dir.length; index++) {
-
- featureURL = new File(featureDir, dir[index]).toURL();
-
- SiteFileFactory archiveFactory = new SiteFileFactory();
- featureRef = archiveFactory.createFeatureReferenceModel();
- featureRef.setSiteModel(site);
- featureRef.setURLString(featureURL.toExternalForm());
- featureRef.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
- site.addFeatureReferenceModel(featureRef);
-
- }
- } catch (MalformedURLException e) {
- throw Utilities.newCoreException(
- Policy.bind("SiteFileFactory.UnableToCreateURLForFile", newFilePath),
- e);
- //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Method parsePlugins.
- *
- * look into each plugin/fragment directory, crack the plugin.xml open (or fragment.xml ???)
- * get id and version, calculate URL...
- *
- * @return VersionedIdentifier
- * @throws CoreException
- */
- private void parseInstalledPlugin(File dir) throws CoreException {
- PluginIdentifier plugin = null;
- File pluginFile = null;
-
- try {
- if (dir.exists() && dir.isDirectory()) {
- File[] files = dir.listFiles();
- for (int i = 0; i < files.length; i++) {
- if (files[i].isDirectory()) {
-
- if (!(pluginFile = new File(files[i], "plugin.xml")).exists()) { //$NON-NLS-1$
- pluginFile = new File(files[i], "fragment.xml"); //$NON-NLS-1$
- }
-
- if (pluginFile != null && pluginFile.exists()) {
- IPluginEntry entry =
- new DefaultPluginParser().parse(new FileInputStream(pluginFile));
- VersionedIdentifier identifier = entry.getVersionedIdentifier();
- plugin = new PluginIdentifier(identifier, files[i]);
-
- addParsedPlugin(plugin);
-
- }
- } // files[i] is a directory
- }
- } // path is a directory
- } catch (IOException e) {
- throw Utilities.newCoreException(
- Policy.bind("SiteFileFactory.ErrorAccessing", pluginFile.getAbsolutePath()),
- e);
- //$NON-NLS-1$
- } catch (SAXException e) {
- throw Utilities.newCoreException(
- Policy.bind("SiteFileFactory.ErrorParsingFile", pluginFile.getAbsolutePath()),
- e);
- //$NON-NLS-1$
- }
-
- }
-
- /**
- * Method addParsedPlugins.
- * @param model
- * @throws CoreException
- */
- private void addParsedPlugin(PluginIdentifier plugin) throws CoreException {
-
- // tranform each Plugin and Fragment in an ArchiveEntry
- // and a PluginEntry for the Site
- String location = null;
- try {
- if (plugin != null) {
- PluginEntry entry = new PluginEntry();
- entry.setPluginIdentifier(plugin.getIdentifier());
- entry.setPluginVersion(plugin.getVersion().toString());
- ((Site) site).addPluginEntry(entry);
-
- SiteFileFactory archiveFactory = new SiteFileFactory();
- // the id is plugins\<pluginid>_<ver>.jar as per the specs
- ArchiveReferenceModel archive = archiveFactory.createArchiveReferenceModel();
- String pluginID =
- Site.DEFAULT_PLUGIN_PATH
- + plugin.toString()
- + FeaturePackagedContentProvider.JAR_EXTENSION;
- archive.setPath(pluginID);
- location = plugin.getLocation().toURL().toExternalForm();
- URL url = new URL(location);
- archive.setURLString(url.toExternalForm());
- ((Site) site).addArchiveReferenceModel(archive);
- }
- } catch (MalformedURLException e) {
- throw Utilities.newCoreException(
- Policy.bind("SiteFileFactory.UnableToCreateURLForFile", location),
- e);
- //$NON-NLS-1$
- }
- }
-
- /**
- *
- */
- private void parsePackagedPlugins(File pluginDir) throws CoreException {
-
- File file = null;
- String[] dir;
-
- PluginIdentifier plugin;
- ContentReference ref = null;
- String refString = null;
-
- try {
- if (pluginDir.exists()) {
- dir = pluginDir.list(FeaturePackagedContentProvider.filter);
- for (int i = 0; i < dir.length; i++) {
-
- file = new File(pluginDir, dir[i]);
- JarContentReference jarReference = new JarContentReference(null, file);
- ref = jarReference.peek("plugin.xml", null, null); //$NON-NLS-1$
- if (ref == null)
- jarReference.peek("fragment.xml", null, null); //$NON-NLS-1$
-
- refString = (ref == null) ? null : ref.asURL().toExternalForm();
-
- if (ref != null) {
- IPluginEntry entry = new DefaultPluginParser().parse(ref.getInputStream());
- VersionedIdentifier identifier = entry.getVersionedIdentifier();
- plugin = new PluginIdentifier(identifier, file);
- addParsedPlugin(plugin);
- } //ref!=null
- } //for
- }
-
- } catch (Exception e) {
- throw Utilities.newCoreException(
- Policy.bind("SiteFileFactory.ErrorAccessing", refString),
- e);
- //$NON-NLS-1$
- }
-
- }
-
- /**
- *
- */
- private IFeature createFeature(URL url, String type) throws CoreException {
- FeatureReference ref = new InternalFeatureReference();
- ref.setSite(site);
- ref.setURL(url);
- ref.setType(type);
- return ref.getFeature();
- }
-
- /*
- * @see SiteModelFactory#createSiteMapModel()
- */
- public SiteModel createSiteMapModel() {
- return new SiteFile();
- }
-
- /*
- * @see SiteModelFactory#canParseSiteType(String)
- */
- public boolean canParseSiteType(String type) {
- return (
- super.canParseSiteType(type)
- || SiteFileContentProvider.SITE_TYPE.equalsIgnoreCase(type));
- }
-
- /**
- *
- */
- public void abort() {
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileNonPluginContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileNonPluginContentConsumer.java
deleted file mode 100644
index 21036d1..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFileNonPluginContentConsumer.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-
-/**
- * Plugin Content Consumer on a Site
- */
-public class SiteFileNonPluginContentConsumer extends ContentConsumer {
-
- private String path;
-
- /**
- * Constructor for FileSite
- */
- public SiteFileNonPluginContentConsumer(String featurePath){
- this.path = featurePath;
- }
-
- /*
- * @see ISiteContentConsumer#store(ContentReference, IProgressMonitor)
- */
- public void store(ContentReference contentReference, IProgressMonitor monitor) throws CoreException {
- InputStream inStream = null;
- String featurePath = path;
- String contentKey = contentReference.getIdentifier();
- featurePath += contentKey ;
- try {
- inStream = contentReference.getInputStream();
- UpdateManagerUtils.copyToLocal(inStream, featurePath, null);
- } catch (IOException e) {
- throw Utilities.newCoreException(Policy.bind("GlobalConsumer.ErrorCreatingFile", featurePath), e); //$NON-NLS-1$
- } finally {
- try {
- // close stream
- inStream.close();
- } catch (Exception e) {}
- }
-
- }
-
- /*
- * @see ISiteContentConsumer#close()
- */
- public void close() {
- }
-
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFilePluginContentConsumer.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFilePluginContentConsumer.java
deleted file mode 100644
index d9a5ac1..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteFilePluginContentConsumer.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.*;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-
-/**
- * Plugin Content Consumer on a Site
- */
-public class SiteFilePluginContentConsumer extends ContentConsumer {
-
- private IPluginEntry pluginEntry;
- private ISite site;
-
- /**
- * Constructor for FileSite
- */
- public SiteFilePluginContentConsumer(IPluginEntry pluginEntry, ISite site) {
- this.pluginEntry= pluginEntry;
- this.site= site;
- }
-
- /*
- * @see ISiteContentConsumer#store(ContentReference, IProgressMonitor)
- */
- public void store(ContentReference contentReference, IProgressMonitor monitor)
- throws CoreException {
- //String path = site.getURL().getFile();
- InputStream inStream= null;
- String pluginPath= null;
-
- try {
- URL newURL=
- new URL(
- site.getURL(),
- Site.DEFAULT_PLUGIN_PATH + pluginEntry.getVersionedIdentifier().toString());
- pluginPath= newURL.getFile();
- String contentKey= contentReference.getIdentifier();
- pluginPath += pluginPath.endsWith(File.separator)
- ? contentKey
- : File.separator + contentKey;
-
- inStream= contentReference.getInputStream();
- UpdateManagerUtils.copyToLocal(inStream, pluginPath, null);
- } catch (IOException e) {
- throw Utilities.newCoreException(
- Policy.bind("GlobalConsumer.ErrorCreatingFile", pluginPath),
- e);
- //$NON-NLS-1$
- } finally {
- try {
- // close stream
- inStream.close();
- } catch (Exception e) {
- }
- }
-
- }
-
- /*
- * @see ISiteContentConsumer#close()
- */
- public void close() {
- if (site instanceof SiteFile)
- ((SiteFile) site).addPluginEntry(pluginEntry);
- }
-
-}
\ 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 2aadb87..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteLocal.java
+++ /dev/null
@@ -1,1123 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.boot.IPlatformConfiguration;
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.FeatureReferenceModel;
-import org.eclipse.update.core.model.SiteModel;
-import org.eclipse.update.internal.model.*;
-import org.xml.sax.SAXException;
-
-/**
- * This class manages the configurations.
- */
-
-public class SiteLocal
- extends SiteLocalModel
- implements ILocalSite, IWritable {
-
- private static IPluginEntry[] allRunningPluginEntry;
- private ListenersList listeners = new ListenersList();
- private boolean isTransient = false;
-
- private static final String UPDATE_STATE_SUFFIX = ".metadata";
-
- /**
- * 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.
- */
- public static ILocalSite getLocalSite() throws CoreException {
-
- SiteLocal localSite = new SiteLocal();
-
- // obtain platform configuration
- IPlatformConfiguration currentPlatformConfiguration =
- BootLoader.getCurrentPlatformConfiguration();
- localSite.isTransient(currentPlatformConfiguration.isTransient());
-
- try {
-
- // obtain LocalSite.xml location
- URL location;
- try {
- location = getUpdateStateLocation(currentPlatformConfiguration);
- } catch (IOException exception) {
- throw Utilities.newCoreException(
- Policy.bind("Unable to retrieve update state location"),
- exception);
- }
-
- URL configXML = UpdateManagerUtils.getURL(location, SITE_LOCAL_FILE, null);
- localSite.setLocationURLString(configXML.toExternalForm());
- localSite.resolve(configXML, null);
-
- parseLocalSiteFile(localSite, currentPlatformConfiguration, configXML);
-
- // check if we have to reconcile, if the timestamp has changed
- long bootStamp = currentPlatformConfiguration.getChangeStamp();
- if (localSite.getStamp() != bootStamp) {
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- UpdateManagerPlugin.getPlugin().debug(
- "Reconcile platform stamp:"
- + bootStamp
- + " is different from LocalSite stamp:"
- + localSite.getStamp());
- //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- localSite.reconcile();
-
- } else {
- // no reconciliation, preserve the list of plugins from the platform anyway
- localSite.preserveRuntimePluginPath();
- }
- } catch (MalformedURLException exception) {
- throw Utilities.newCoreException(
- Policy.bind(
- "SiteLocal.UnableToCreateURLFor",
- localSite.getLocationURLString() + " & " + SITE_LOCAL_FILE),
- exception);
- //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- return localSite;
- }
-
- /**
- * Create the localSite object either by parsing, recovering from the file system, or reconciling with the platform configuration
- */
- private static void parseLocalSiteFile(
- SiteLocal localSite,
- IPlatformConfiguration currentPlatformConfiguration,
- URL configXML)
- throws MalformedURLException, CoreException {
-
- //attempt to parse the LocalSite.xml
- URL resolvedURL = URLEncoder.encode(configXML);
- try {
- new SiteLocalParser(resolvedURL.openStream(), localSite);
- } catch (FileNotFoundException exception) {
- // file SITE_LOCAL_FILE doesn't exist, ok, log it
- // and reconcile with platform configuration
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- UpdateManagerPlugin.getPlugin().debug(
- localSite.getLocationURLString()
- + " does not exist, there is no previous state or install history we can recover from, we shall use default from platform configuration.");
- //$NON-NLS-1$
- }
-
- localSite.reconcile();
-
- } catch (SAXException exception) {
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- Utilities.logException(
- Policy.bind(
- "SiteLocal.ErrorParsingSavedState",
- localSite.getLocationURLString()),
- exception);
- //$NON-NLS-1$
- }
- recoverSiteLocal(resolvedURL, localSite);
-
- } catch (IOException exception) {
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- Utilities.logException(
- Policy.bind("SiteLocal.UnableToAccessFile", configXML.toExternalForm()),
- exception);
- //$NON-NLS-1$
- }
-
- recoverSiteLocal(resolvedURL, localSite);
- }
- }
-
- /**
- *
- */
- private SiteLocal() {
- }
-
- /**
- * adds a new configuration to the LocalSite
- * the newly added configuration is teh current one
- */
- public void addConfiguration(IInstallConfiguration config) {
- if (config != null) {
- addConfigurationModel((InstallConfigurationModel) config);
-
- // check if we have to remove a configuration
- // the first added is #0
- while (getConfigurationHistory().length > getMaximumHistoryCount()) {
- InstallConfigurationModel removedConfig = getConfigurationHistoryModel()[0];
- if (removeConfigurationModel(removedConfig)) {
-
- // DEBUG:
- if (UpdateManagerPlugin.DEBUG
- && UpdateManagerPlugin.DEBUG_SHOW_CONFIGURATION) {
- UpdateManagerPlugin.getPlugin().debug(
- "Removed configuration :" + removedConfig.getLabel());
- //$NON-NLS-1$
- }
-
- // notify listeners
- Object[] siteLocalListeners = listeners.getListeners();
- for (int i = 0; i < siteLocalListeners.length; i++) {
- (
- (
- ILocalSiteChangedListener) siteLocalListeners[i]).installConfigurationRemoved(
- (IInstallConfiguration) removedConfig);
- }
-
- //remove files
- URL url = removedConfig.getURL();
- UpdateManagerUtils.removeFromFileSystem(new File(url.getFile()));
- }
-
- }
-
- // set configuration as current
- if (getCurrentConfigurationModel() != null)
- getCurrentConfigurationModel().setCurrent(false);
- config.setCurrent(true);
- setCurrentConfigurationModel((InstallConfigurationModel) config);
- ((InstallConfigurationModel) config).markReadOnly();
-
- // notify listeners
- Object[] siteLocalListeners = listeners.getListeners();
- for (int i = 0; i < siteLocalListeners.length; i++) {
- (
- (
- ILocalSiteChangedListener) siteLocalListeners[i])
- .currentInstallConfigurationChanged(
- config);
- }
- }
-
- }
- /*
- * @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);
- }
- }
-
- /**
- * Saves the site into the config file
- */
- public void save() throws CoreException {
-
- // Save the current configuration as
- // the other are already saved
- // and set runtim info for next startup
- ((InstallConfiguration) getCurrentConfiguration()).save(isTransient());
-
- // save the local site
- if (getLocationURL().getProtocol().equalsIgnoreCase("file")) { //$NON-NLS-1$
- File file = null;
- try {
- URL newURL =
- UpdateManagerUtils.getURL(getLocationURL(), SITE_LOCAL_FILE, null);
- file = new File(newURL.getFile());
- if (isTransient())
- file.deleteOnExit();
- PrintWriter fileWriter = new PrintWriter(new FileOutputStream(file));
- Writer writer = new Writer();
- writer.writeSite(this, fileWriter);
- fileWriter.close();
- } catch (FileNotFoundException e) {
- throw Utilities.newCoreException(
- Policy.bind("SiteLocal.UnableToSaveStateIn") + file.getAbsolutePath(),
- e);
- //$NON-NLS-1$
- } catch (MalformedURLException e) {
- throw Utilities.newCoreException(
- Policy.bind("SiteLocal.UnableToCreateURLFor")
- + getLocationURL().toExternalForm()
- + " : "
- + SITE_LOCAL_FILE,
- e);
- //$NON-NLS-2$ //$NON-NLS-1$
- }
- }
- }
- /*
- * @see IWritable#write(int, PrintWriter)
- */
- public void write(int indent, PrintWriter w) {
-
- // force the recalculation to avoid reconciliation
- IPlatformConfiguration platformConfig =
- BootLoader.getCurrentPlatformConfiguration();
- platformConfig.refresh();
- long changeStamp = platformConfig.getChangeStamp();
- this.setStamp(changeStamp);
-
- String gap = ""; //$NON-NLS-1$
- for (int i = 0; i < indent; i++)
- gap += " "; //$NON-NLS-1$
- String increment = ""; //$NON-NLS-1$
- for (int i = 0; i < IWritable.INDENT; i++)
- increment += " "; //$NON-NLS-1$
-
- w.print(gap + "<" + SiteLocalParser.SITE + " "); //$NON-NLS-1$ //$NON-NLS-2$
- if (getLabel() != null) {
- w.print("label=\"" + Writer.xmlSafe(getLabel()) + "\" ");
- //$NON-NLS-1$ //$NON-NLS-2$
- }
- w.print("history=\"" + getMaximumHistoryCount() + "\" ");
- //$NON-NLS-1$ //$NON-NLS-2$
- w.print("stamp=\"" + changeStamp + "\" "); //$NON-NLS-1$ //$NON-NLS-2$
- w.println(">"); //$NON-NLS-1$
- w.println(""); //$NON-NLS-1$
-
- // the last one is the current configuration
- InstallConfigurationModel[] configurations = getConfigurationHistoryModel();
- for (int index = 0; index < configurations.length; index++) {
- InstallConfigurationModel element = configurations[index];
- if (!element.isCurrent()) {
- writeConfig(gap + increment, w, element);
- }
- }
- // write current configuration last
- writeConfig(
- gap + increment,
- w,
- (InstallConfigurationModel) getCurrentConfiguration());
- w.println(""); //$NON-NLS-1$
-
- if (getPreservedConfigurations() != null) {
- // write preserved configurations
- w.print(
- gap + increment + "<" + SiteLocalParser.PRESERVED_CONFIGURATIONS + ">");
- //$NON-NLS-1$ //$NON-NLS-2$
-
- InstallConfigurationModel[] preservedConfig =
- getPreservedConfigurationsModel();
- for (int index = 0; index < preservedConfig.length; index++) {
- InstallConfigurationModel element = preservedConfig[index];
- writeConfig(gap + increment + increment, w, element);
- }
- w.println(""); //$NON-NLS-1$
- w.print(
- gap + increment + "</" + SiteLocalParser.PRESERVED_CONFIGURATIONS + ">");
- //$NON-NLS-1$ //$NON-NLS-2$
- }
- // end
- w.println("</" + SiteLocalParser.SITE + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS) {
- UpdateManagerPlugin.getPlugin().debug("Saved change stamp:" + changeStamp);
- //$NON-NLS-1$
- }
-
- }
-
- /**
- * @since 2.0
- */
- private void writeConfig(
- String gap,
- PrintWriter w,
- InstallConfigurationModel config) {
- w.print(gap + "<" + SiteLocalParser.CONFIG + " "); //$NON-NLS-1$ //$NON-NLS-2$
- String URLInfoString =
- UpdateManagerUtils.getURLAsString(getLocationURL(), config.getURL());
- w.print("url=\"" + Writer.xmlSafe(URLInfoString) + "\" ");
- //$NON-NLS-1$ //$NON-NLS-2$
-
- if (config.getLabel() != null) {
- w.print("label=\"" + Writer.xmlSafe(config.getLabel()) + "\"");
- //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- w.println("/>"); //$NON-NLS-1$
- }
-
- /**
- * @since 2.0
- */
- private IInstallConfiguration cloneConfigurationSite(
- IInstallConfiguration installConfig,
- URL newFile,
- String name)
- throws CoreException {
-
- // save previous current configuration
- if (getCurrentConfiguration() != null)
- ((InstallConfiguration) getCurrentConfiguration()).saveConfigurationFile(
- isTransient());
-
- InstallConfiguration result = null;
- Date currentDate = new Date();
-
- String newFileName =
- UpdateManagerUtils.getLocalRandomIdentifier(DEFAULT_CONFIG_FILE, currentDate);
- try {
- if (newFile == null)
- newFile = UpdateManagerUtils.getURL(getLocationURL(), newFileName, null);
- // pass the date onto the name
- if (name == null)
- name = currentDate.toString();
- result = new InstallConfiguration(installConfig, newFile, name);
- // set teh same date in the installConfig
- result.setCreationDate(currentDate);
- } catch (MalformedURLException e) {
- throw Utilities.newCoreException(
- Policy.bind("SiteLocal.UnableToCreateURLFor") + newFileName,
- e);
- //$NON-NLS-1$
- }
- return result;
- }
-
- /**
- * @since 2.0
- */
- public IInstallConfiguration cloneCurrentConfiguration()
- throws CoreException {
- return cloneConfigurationSite(getCurrentConfiguration(), null, null);
- }
-
- /**
- * @since 2.0
- */
- public void revertTo(
- IInstallConfiguration configuration,
- IProgressMonitor monitor,
- IProblemHandler handler)
- throws CoreException {
-
- // create the activity
- //Start UOW ?
- ConfigurationActivity activity =
- new ConfigurationActivity(IActivity.ACTION_REVERT);
- activity.setLabel(configuration.getLabel());
- activity.setDate(new Date());
- IInstallConfiguration newConfiguration = null;
-
- try {
- // create a configuration
- newConfiguration = cloneCurrentConfiguration();
- newConfiguration.setLabel(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,
- handler);
-
- // add to the stack which will set up as current
- addConfiguration(newConfiguration);
-
- // everything done ok
- activity.setStatus(IActivity.STATUS_OK);
- } catch (CoreException e) {
- // error
- activity.setStatus(IActivity.STATUS_NOK);
- throw e;
- } catch (InterruptedException e) {
- //user decided not to revert, do nothing
- // because we didn't add the configuration to the history
- } finally {
- if (newConfiguration != null)
- ((InstallConfiguration) newConfiguration).addActivityModel(
- (ConfigurationActivityModel) activity);
- }
-
- }
-
- /**
- * @since 2.0
- */
- public void addToPreservedConfigurations(IInstallConfiguration configuration)
- throws CoreException {
- if (configuration != null) {
-
- // create new configuration based on the one to preserve
- InstallConfiguration newConfiguration = null;
- String newFileName =
- UpdateManagerUtils.getLocalRandomIdentifier(
- DEFAULT_PRESERVED_CONFIG_FILE,
- new Date());
- try {
- URL newFile = UpdateManagerUtils.getURL(getLocationURL(), newFileName, null);
- // pass the date onto teh name
- Date currentDate = configuration.getCreationDate();
- String name = configuration.getLabel();
- newConfiguration = new InstallConfiguration(configuration, newFile, name);
- // set teh same date in the installConfig
- newConfiguration.setCreationDate(currentDate);
-
- } catch (MalformedURLException e) {
- throw Utilities.newCoreException(
- Policy.bind("SiteLocal.UnableToCreateURLFor") + newFileName,
- e);
- //$NON-NLS-1$
- }
- ((InstallConfiguration) newConfiguration).saveConfigurationFile(isTransient());
-
- // add to the list
- addPreservedInstallConfigurationModel(
- (InstallConfigurationModel) newConfiguration);
- }
- }
-
- /*
- * @see ILocalSite#getPreservedConfigurationFor(IInstallConfiguration)
- */
- public IInstallConfiguration findPreservedConfigurationFor(IInstallConfiguration configuration) {
-
- // based on time stamp for now
- InstallConfigurationModel preservedConfig = null;
- if (configuration != null) {
- InstallConfigurationModel[] preservedConfigurations =
- getPreservedConfigurationsModel();
- if (preservedConfigurations != null) {
- for (int indexPreserved = 0;
- indexPreserved < preservedConfigurations.length;
- indexPreserved++) {
- if (configuration
- .getCreationDate()
- .equals(preservedConfigurations[indexPreserved].getCreationDate())) {
- preservedConfig = preservedConfigurations[indexPreserved];
- break;
- }
- }
- }
- }
-
- return (IInstallConfiguration) preservedConfig;
- }
-
- /*
- * @see ILocalSite#getCurrentConfiguration()
- * LocalSiteModel#getCurrentConfigurationModel() may return null if
- * we just parsed LocalSite.xml
- */
- public IInstallConfiguration getCurrentConfiguration() {
- if (getCurrentConfigurationModel() == null) {
- int index = 0;
- if ((index = getConfigurationHistoryModel().length) == 0) {
- return null;
- } else {
- InstallConfigurationModel config = getConfigurationHistoryModel()[index - 1];
- config.setCurrent(true);
- setCurrentConfigurationModel(config);
- }
- }
- return (IInstallConfiguration) getCurrentConfigurationModel();
- }
-
- /*
- * @see ILocalSite#getPreservedConfigurations()
- */
- public IInstallConfiguration[] getPreservedConfigurations() {
- if (getPreservedConfigurationsModel().length == 0)
- return new IInstallConfiguration[0];
- return (IInstallConfiguration[]) getPreservedConfigurationsModel();
- }
-
- /*
- * @see ILocalSite#removeFromPreservedConfigurations(IInstallConfiguration)
- */
- public void removeFromPreservedConfigurations(IInstallConfiguration configuration) {
- if (
- removePreservedConfigurationModel((InstallConfigurationModel) configuration))
- ((InstallConfiguration) configuration).remove();
- }
-
- /*
- * @see ILocalSite#getConfigurationHistory()
- */
- public IInstallConfiguration[] getConfigurationHistory() {
- if (getConfigurationHistoryModel().length == 0)
- return new IInstallConfiguration[0];
- return (IInstallConfiguration[]) getConfigurationHistoryModel();
- }
-
- /*
- * Reconciliation is the comparison between the old preserved state and the new one from platform.cfg
- *
- * If the old state contained sites that are not in the new state, the old sites are not added to the state
- *
- * If the new state contains sites that were not in the old state, configure the site and configure all the found features
- *
- * If the sites are in both states, verify the features
- *
- * if the old site contained features that are not in the new site, the features are not added to the site
- *
- * if the new site contains feature that were not in the old site, configure the new feature
- *
- * if the feature is in both site (old and new), use old feature state
- *
- * When adding a feature to a site, we will check if the feature is broken or not.
- * A feature is broken when at least one of its plugin is not installed on the site.
- *
- * At the end, go over all the site, get the configured features and make sure that if we find duplicates
- * only one feature is configured
- */
- public void reconcile() throws CoreException {
-
- IPlatformConfiguration platformConfig =
- BootLoader.getCurrentPlatformConfiguration();
- IPlatformConfiguration.ISiteEntry[] newSiteEntries =
- platformConfig.getConfiguredSites();
- IInstallConfiguration newDefaultConfiguration =
- cloneConfigurationSite(null, null, null);
- IConfiguredSite[] oldConfiguredSites = new IConfiguredSite[0];
-
- // sites from the current configuration
- if (getCurrentConfiguration() != null)
- oldConfiguredSites = getCurrentConfiguration().getConfiguredSites();
-
- // check if sites from the platform are new sites or modified sites
- // if they are new add them, if they are modified, compare them with the old
- // one and add them
- for (int siteIndex = 0; siteIndex < newSiteEntries.length; siteIndex++) {
- IPlatformConfiguration.ISiteEntry currentSiteEntry = newSiteEntries[siteIndex];
- URL resolvedURL = resolveSiteEntry(currentSiteEntry);
- boolean found = false;
- IConfiguredSite currentConfigurationSite = null;
-
- // check if SiteEntry has been possibly modified
- // if it was part of the previously known configuredSite
- for (int index = 0; index < oldConfiguredSites.length && !found; index++) {
- currentConfigurationSite = oldConfiguredSites[index];
- if (currentConfigurationSite.getSite().getURL().equals(resolvedURL)) {
- found = true;
- ConfiguredSite reconciledConfiguredSite = reconcile(currentConfigurationSite);
- reconciledConfiguredSite.setPreviousPluginPath(
- currentSiteEntry.getSitePolicy().getList());
- newDefaultConfiguration.addConfiguredSite(reconciledConfiguredSite);
- }
- }
-
- // old site not found, this is a new site, create it
- if (!found) {
- ISite site = SiteManager.getSite(resolvedURL);
-
- //site policy
- IPlatformConfiguration.ISitePolicy sitePolicy =
- currentSiteEntry.getSitePolicy();
- ConfiguredSite configSite =
- (ConfiguredSite) new BaseSiteLocalFactory().createConfigurationSiteModel(
- (SiteModel) site,
- sitePolicy.getType());
- configSite.setPlatformURLString(currentSiteEntry.getURL().toExternalForm());
- configSite.setPreviousPluginPath(currentSiteEntry.getSitePolicy().getList());
-
- //the site may not be read-write
- configSite.isUpdateable(newSiteEntries[siteIndex].isUpdateable());
-
- // Add the features as configured
- IFeatureReference[] newFeaturesRef = site.getFeatureReferences();
- for (int i = 0; i < newFeaturesRef.length; i++) {
- FeatureReferenceModel newFeatureRefModel =
- (FeatureReferenceModel) newFeaturesRef[i];
- configSite.getConfigurationPolicy().addConfiguredFeatureReference(
- newFeatureRefModel);
- }
-
- newDefaultConfiguration.addConfiguredSite(configSite);
- }
- }
-
- // verify we do not have 2 features with different version that
- // are configured
- checkConfiguredFeatures(newDefaultConfiguration);
-
- // add Activity reconciliation
- BaseSiteLocalFactory siteLocalFactory = new BaseSiteLocalFactory();
- ConfigurationActivityModel activity =
- siteLocalFactory.createConfigurationAcivityModel();
- activity.setAction(IActivity.ACTION_RECONCILIATION);
- activity.setDate(new Date());
- activity.setLabel(getLocationURLString());
- ((InstallConfiguration) newDefaultConfiguration).addActivityModel(activity);
-
- // add the configuration as the currentConfig
- this.addConfiguration(newDefaultConfiguration);
- this.save();
- }
-
- /**
- *
- */
- private URL resolveSiteEntry(IPlatformConfiguration.ISiteEntry newSiteEntry)
- throws CoreException {
- URL resolvedURL = null;
- try {
- resolvedURL = Platform.resolve(newSiteEntry.getURL());
- } catch (IOException e) {
- throw Utilities.newCoreException(
- Policy.bind(
- "SiteLocal.UnableToResolve",
- newSiteEntry.getURL().toExternalForm()),
- e);
- //$NON-NLS-1$
- }
- return resolvedURL;
- }
-
- /**
- * Compare the old state of ConfiguredSite with
- * the 'real' features we found in Site
- *
- * getSite of ConfiguredSite contains the real features found
- *
- * So if ConfiguredSite.getPolicy has feature A and D as configured and C as unconfigured
- * And if the Site contains features A,B and C
- * We have to remove D and Configure B
- *
- * We copy the oldConfig without the Features
- * Then we loop through the features we found on teh real site
- * If they didn't exist before we add them as configured
- * Otherwise we use the old policy and add them to teh new configuration site
- */
- private ConfiguredSite reconcile(IConfiguredSite oldConfiguredSite)
- throws CoreException {
-
- ConfiguredSite newConfiguredSite = createNewConfigSite(oldConfiguredSite);
- ConfigurationPolicyModel newSitePolicyModel =
- newConfiguredSite.getConfigurationPolicyModel();
- ConfigurationPolicyModel oldSitePolicyModel =
- ((ConfiguredSite) oldConfiguredSite).getConfigurationPolicyModel();
-
- // check the Features that are still on the new version of the Config Site
- // and the new one. Add the new Features as Configured
- List toCheck = new ArrayList();
- ISite site = oldConfiguredSite.getSite();
- IFeatureReference[] foundFeatures = site.getFeatureReferences();
- IFeatureReference[] oldConfiguredFeaturesRef =
- oldConfiguredSite.getFeaturesReferences();
-
- for (int i = 0; i < foundFeatures.length; i++) {
- boolean newFeatureFound = false;
- FeatureReferenceModel currentFeatureRefModel =
- (FeatureReferenceModel) foundFeatures[i];
- for (int j = 0; j < oldConfiguredFeaturesRef.length; j++) {
- IFeatureReference oldFeatureRef = oldConfiguredFeaturesRef[j];
- if (oldFeatureRef != null && oldFeatureRef.equals(currentFeatureRefModel)) {
- toCheck.add(oldFeatureRef);
- newFeatureFound = true;
- }
- }
-
- // new fature found: add as configured
- if (!newFeatureFound) {
- newSitePolicyModel.addConfiguredFeatureReference(currentFeatureRefModel);
- }
- }
-
- // if a feature has been found in new and old state use old state (configured/unconfigured)
- Iterator featureIter = toCheck.iterator();
- while (featureIter.hasNext()) {
- FeatureReferenceModel oldFeatureRef =
- (FeatureReferenceModel) featureIter.next();
- if (oldSitePolicyModel.isConfigured(oldFeatureRef)) {
- newSitePolicyModel.addConfiguredFeatureReference(oldFeatureRef);
- } else {
- newSitePolicyModel.addUnconfiguredFeatureReference(oldFeatureRef);
- }
- }
-
- return newConfiguredSite;
- }
-
- /**
- * Validate we have only one configured feature across the different sites
- * even if we found multiples
- *
- * If we find 2 features, the one with a higher version is configured
- * If they have teh same version, the first feature is configured
- *
- * This is a double loop comparison
- * One look goes from 0 to numberOfConfiguredSites -1
- * the other from the previous index to numberOfConfiguredSites
- *
- */
- private void checkConfiguredFeatures(IInstallConfiguration newDefaultConfiguration)
- throws CoreException {
-
- IConfiguredSite[] configuredSites =
- newDefaultConfiguration.getConfiguredSites();
-
- // each configured site
- for (int indexConfiguredSites = 0;
- indexConfiguredSites < configuredSites.length;
- indexConfiguredSites++) {
- checkConfiguredFeatures(configuredSites[indexConfiguredSites]);
- }
-
- // Check configured sites between them
- if (configuredSites.length > 1) {
- for (int indexConfiguredSites = 0;
- indexConfiguredSites < configuredSites.length - 1;
- indexConfiguredSites++) {
- IFeatureReference[] configuredFeatures =
- configuredSites[indexConfiguredSites].getConfiguredFeatures();
- for (int indexConfiguredFeatures = 0;
- indexConfiguredFeatures < configuredFeatures.length;
- indexConfiguredFeatures++) {
- IFeatureReference featureToCompare =
- configuredFeatures[indexConfiguredFeatures];
-
- // compare with the rest of the configurations
- for (int i = indexConfiguredSites + 1; i < configuredSites.length; i++) {
- IFeatureReference[] possibleFeatureReference =
- configuredSites[i].getConfiguredFeatures();
- for (int j = 0; j < possibleFeatureReference.length; j++) {
- int result = compare(featureToCompare, possibleFeatureReference[j]);
- if (result != 0) {
- if (result == 1) {
- FeatureReferenceModel featureRefModel =
- (FeatureReferenceModel) possibleFeatureReference[j];
- ((ConfiguredSite) configuredSites[i])
- .getConfigurationPolicy()
- .addUnconfiguredFeatureReference(featureRefModel);
- };
- if (result == 2) {
- FeatureReferenceModel featureRefModel =
- (FeatureReferenceModel) featureToCompare;
- ((ConfiguredSite) configuredSites[indexConfiguredSites])
- .getConfigurationPolicy()
- .addUnconfiguredFeatureReference(featureRefModel);
- // do not break, we can continue, even if the feature is unconfigured
- // if we find another feature in another site, we may unconfigure it.
- // but it would have been unconfigured anyway because we confured another version of the same feature
- // so if teh version we find is lower than our version, by transition, it is lower then the feature that unconfigured us
- }
- }
- }
- }
- }
-
- }
- }
- }
-
- /**
- * Validate we have only one configured feature per configured site
- *
- */
- private void checkConfiguredFeatures(IConfiguredSite configuredSite)
- throws CoreException {
-
- ConfiguredSite cSite = (ConfiguredSite) configuredSite;
- IFeatureReference[] configuredFeatures = cSite.getConfiguredFeatures();
- ConfigurationPolicy cPolicy = cSite.getConfigurationPolicy();
-
- for (int indexConfiguredFeatures = 0;
- indexConfiguredFeatures < configuredFeatures.length - 1;
- indexConfiguredFeatures++) {
-
- IFeatureReference featureToCompare =
- configuredFeatures[indexConfiguredFeatures];
-
- // within the configured site
- // compare with the other configured features of this site
- for (int restOfConfiguredFeatures = indexConfiguredFeatures+1;
- restOfConfiguredFeatures < configuredFeatures.length;
- restOfConfiguredFeatures++) {
- int result =
- compare(featureToCompare, configuredFeatures[restOfConfiguredFeatures]);
- if (result != 0) {
- if (result == 1) {
- cPolicy.addUnconfiguredFeatureReference(
- (FeatureReferenceModel) configuredFeatures[restOfConfiguredFeatures]);
- };
- if (result == 2) {
- cPolicy.addUnconfiguredFeatureReference(
- (FeatureReferenceModel) featureToCompare);
- }
- }
- }
- }
- }
-
- /**
- * compare 2 feature references
- * returns 0 if the feature are different
- * returns 1 if the version of feature 1 is > version of feature 2
- * returns 2 if opposite
- */
- private int compare(
- IFeatureReference featureRef1,
- IFeatureReference featureRef2)
- throws CoreException {
- if (featureRef1 == null)
- return 0;
-
- IFeature feature1 = featureRef1.getFeature();
- IFeature feature2 = featureRef2.getFeature();
-
- if (feature1 == null || feature2 == null) {
- return 0;
- }
-
- VersionedIdentifier id1 = feature1.getVersionedIdentifier();
- VersionedIdentifier id2 = feature2.getVersionedIdentifier();
-
- if (id1 == null || id2 == null) {
- return 0;
- }
-
- if (id1.getIdentifier() != null
- && id1.getIdentifier().equals(id2.getIdentifier())) {
- Version version1 = id1.getVersion();
- Version version2 = id2.getVersion();
- if (version1 != null) {
- int result = (version1.compare(version2));
- if (result == -1) {
- return 2;
- } else {
- return 1;
- }
- } else {
- return 2;
- }
- }
- return 0;
- };
-
- /**
- * Add the list of plugins the platform found for each site. This list will be preserved in
- * a transient way.
- *
- * We do not lose explicitly set plugins found in platform.cfg.
- */
- private void preserveRuntimePluginPath() throws CoreException {
-
- IPlatformConfiguration platformConfig =
- BootLoader.getCurrentPlatformConfiguration();
- IPlatformConfiguration.ISiteEntry[] siteEntries =
- platformConfig.getConfiguredSites();
-
- // sites from the current configuration
- IConfiguredSite[] configured = new IConfiguredSite[0];
- if (getCurrentConfiguration() != null)
- configured = getCurrentConfiguration().getConfiguredSites();
-
- // sites from the platform
- for (int siteIndex = 0; siteIndex < siteEntries.length; siteIndex++) {
- URL resolvedURL = resolveSiteEntry(siteEntries[siteIndex]);
-
- boolean found = false;
- for (int index = 0; index < configured.length && !found; index++) {
-
- // the array may have hole as we set found site to null
- if (configured[index] != null) {
- if (configured[index].getSite().getURL().equals(resolvedURL)) {
- found = true;
- String[] listOfPlugins = siteEntries[siteIndex].getSitePolicy().getList();
- ((ConfiguredSite) configured[index]).setPreviousPluginPath(listOfPlugins);
- configured[index] = null;
- }
- }
- }
- }
-
- }
-
- private ConfiguredSite createNewConfigSite(IConfiguredSite oldConfiguredSiteToReconcile)
- throws CoreException {
- // create a copy of the ConfigSite based on old ConfigSite
- // this is not a clone, do not copy any features
- ConfiguredSite cSiteToReconcile =
- (ConfiguredSite) oldConfiguredSiteToReconcile;
- SiteModel siteModel = cSiteToReconcile.getSiteModel();
- int policy = cSiteToReconcile.getConfigurationPolicy().getPolicy();
-
- // copy values of the old ConfigSite that should be preserved except Features
- ConfiguredSite newConfigurationSite =
- (ConfiguredSite) new BaseSiteLocalFactory().createConfigurationSiteModel(
- siteModel,
- policy);
- newConfigurationSite.isUpdateable(cSiteToReconcile.isUpdateable());
- newConfigurationSite.setPlatformURLString(
- cSiteToReconcile.getPlatformURLString());
-
- return newConfigurationSite;
- }
-
- /*
- * Get update state location relative to platform configuration
- */
- private static URL getUpdateStateLocation(IPlatformConfiguration config)
- throws IOException {
- // Create a directory location for update state files. This
- // directory name is constructed by adding a well-known suffix
- // to the name of the corresponding platform configuration. This
- // way, we can have multiple platform configuration files in
- // the same directory without ending up with update state conflicts.
- // For example: platform configuration file:C:/platform.cfg results
- // in update state location file:C:/platform.cfg.update/
- URL configLocation = Platform.resolve(config.getConfigurationLocation());
- String temp = configLocation.toExternalForm();
- temp += UPDATE_STATE_SUFFIX + "/";
- URL updateLocation = new URL(temp);
- if (updateLocation.getProtocol().equals("file")) {
- // ensure path exists. Handle transient configurations
- ArrayList list = new ArrayList();
- File path = new File(updateLocation.getFile());
- while (path != null) { // walk up to first dir that exists
- if (!path.exists()) {
- list.add(path);
- path = path.getParentFile();
- } else
- path = null;
- }
- for (int i = list.size() - 1;
- i >= 0;
- i--) { // walk down to create missing dirs
- path = (File) list.get(i);
- path.mkdir();
- if (config.isTransient())
- path.deleteOnExit();
- }
- }
- return updateLocation;
- }
-
- /**
- * Gets the isTransient.
- * @return Returns a boolean
- */
- public boolean isTransient() {
- return isTransient;
- }
-
- /**
- * Sets the isTransient.
- * @param isTransient The isTransient to set
- */
- private void isTransient(boolean isTransient) {
- this.isTransient = isTransient;
- }
-
- /**
- * if we are unable to parse the SiteLoca we will attempt to parse the file system
- */
- private static void recoverSiteLocal(URL url, SiteLocal site)
- throws CoreException, MalformedURLException {
-
- if (url == null)
- throw Utilities.newCoreException(
- "Internal Error: URL of local site is null",
- null);
-
- // parse site information
- site.setLabel(url.toExternalForm());
-
- //stamp
- long stamp = 0L;
- site.setStamp(stamp);
-
- // retrieve XML files
- File localXml = new File(url.getFile());
- File dir = localXml.getParentFile();
- File[] configFiles = dir.listFiles(new FilenameFilter() {
- public boolean accept(File dir, String name) {
- return (name.startsWith("Config") && name.endsWith("xml"));
- }
- });
- File[] preservedFiles = dir.listFiles(new FilenameFilter() {
- public boolean accept(File dir, String name) {
- return (name.startsWith("PreservedConfig") && name.endsWith("xml"));
- }
- });
-
- // history
- int history = 0;
- if (configFiles != null && configFiles.length > 0) {
- history = configFiles.length;
- } else {
- history = SiteLocalModel.DEFAULT_HISTORY;
- }
- site.setMaximumHistoryCount(history);
-
- // parse configuration information
-
- for (int i = 0; i < configFiles.length; i++) {
- URL configURL = configFiles[i].toURL();
- InstallConfigurationModel config =
- new BaseSiteLocalFactory().createInstallConfigurationModel();
- config.setLocationURLString(configURL.toExternalForm());
- config.resolve(configURL, getResourceBundle(url));
- try {
- config.initialize();
- config.setLabel(config.getCreationDate().toString());
- site.addConfigurationModel(config);
- } catch (CoreException e) {
- UpdateManagerPlugin.getPlugin().getLog().log(e.getStatus());
- }
-
- }
-
- // parse preserved configuration information
- for (int i = 0; i < preservedFiles.length; i++) {
- URL configURL = configFiles[i].toURL();
- InstallConfigurationModel config =
- new BaseSiteLocalFactory().createInstallConfigurationModel();
- config.setLocationURLString(configURL.toExternalForm());
- config.resolve(configURL, getResourceBundle(url));
- try {
- config.initialize();
- config.setLabel(config.getCreationDate().toString());
- site.addPreservedInstallConfigurationModel(config);
- } catch (CoreException e) {
- UpdateManagerPlugin.getPlugin().getLog().log(e.getStatus());
- }
- }
- }
-
- /**
- * return the appropriate resource bundle for this sitelocal
- */
- private static ResourceBundle getResourceBundle(URL url)
- throws CoreException {
- ResourceBundle bundle = null;
- try {
- ClassLoader l = new URLClassLoader(new URL[] { url }, null);
- bundle =
- ResourceBundle.getBundle(
- SiteLocalModel.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() + ":" + url.toExternalForm());
- //$NON-NLS-1$
- }
- }
- return bundle;
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteTypeFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteTypeFactory.java
deleted file mode 100644
index 8245bbb..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteTypeFactory.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.eclipse.update.internal.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.IFeatureFactory;
-import org.eclipse.update.core.ISiteFactory;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-/**
- *
- */
-public final class SiteTypeFactory {
-
-
- /**
- * extension point ID
- */
- public static final String SIMPLE_EXTENSION_ID = "siteTypes"; //$NON-NLS-1$
-
-
- private static SiteTypeFactory inst;
-
- private Map factories;
-
- /**
- * hide ctr
- */
- private SiteTypeFactory() {
- }
-
- public static SiteTypeFactory getInstance() {
- if (inst == null)
- inst = new SiteTypeFactory();
- return inst;
- }
-
-
- /**
- * return the factory for the type
- */
- public ISiteFactory getFactory(String type) throws CoreException {
- //
- Object instance = getFactories().get(type);
- if (instance==null) {
- instance = createFactoryFor(type);
- getFactories().put(type,instance);
- }
- return (ISiteFactory) instance;
- }
-
- /**
- *
- */
- private ISiteFactory createFactoryFor(String type) throws CoreException {
- ISiteFactory result = null;
-
- String pluginID = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
- IConfigurationElement[] elements = pluginRegistry.getConfigurationElementsFor(pluginID,SIMPLE_EXTENSION_ID,type);
- if (elements==null || elements.length==0){
- IStatus status = new Status(IStatus.ERROR,pluginID,IStatus.OK,Policy.bind("SiteTypeFactory.UnableToFindSiteFactory",type),null); //$NON-NLS-1$
- throw new CoreException(status);
- } else {
- IConfigurationElement element = elements[0];
- result = (ISiteFactory)element.createExecutableExtension("class"); //$NON-NLS-1$
- }
- return result;
- }
-
- /**
- * Gets the actories.
- * @return Returns a Map
- */
- private Map getFactories() {
- if (factories==null) factories = new HashMap();
- return factories;
- }
-
- /**
- * Sets the actories.
- * @param actories The actories to set
- */
- private void setFactories(Map factories) {
- factories = factories;
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURLContentProvider.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURLContentProvider.java
deleted file mode 100644
index 667162c..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURLContentProvider.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURLFactory.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURLFactory.java
deleted file mode 100644
index ff5cc8b..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/SiteURLFactory.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.InvalidSiteTypeException;
-import org.eclipse.update.core.model.SiteModelFactory;
-import org.xml.sax.SAXException;
-
-public class SiteURLFactory extends BaseSiteFactory {
-
-
- /*
- * @see ISiteFactory#createSite(URL, boolean)
- *
- * the URL can be of the following form
- * 1 protocol://...../
- * 2 protocol://.....
- * 3 protocol://..../site.xml
- *
- * 1 If the file of the file of teh url ends with '/', attempt to open the stream.
- * if it fails, add site.xml and attempt to open the stream
- *
- * 2 attempt to open the stream
- * fail
- * add '/site.xml' and attempt to open the stream
- * sucess
- * attempt to parse, if it fails, add '/site.xml' and attempt to open teh stream
- *
- * 3 open the stream
- */
- public ISite createSite(URL url) throws CoreException, InvalidSiteTypeException {
- Site site = null;
- InputStream siteStream = null;
-
- try {
- SiteURLContentProvider contentProvider = new SiteURLContentProvider(url);
-
- URL resolvedURL = URLEncoder.encode(url);
- siteStream = resolvedURL.openStream();
-
- SiteModelFactory factory = (SiteModelFactory) this;
- site = (Site)factory.parseSite(siteStream);
-
- site.setSiteContentProvider(contentProvider);
- contentProvider.setSite(site);
- site.resolve(url, getResourceBundle(url));
- site.markReadOnly();
- } catch (MalformedURLException e){
- throw Utilities.newCoreException("Unable to create URL",e);
- } catch (IOException e){
- throw Utilities.newCoreException("Unable to access URL",e);
- } finally {
- try {
- siteStream.close();
- } catch (Exception e) {
- }
- }
- return site;
- }
-
- /*
- * @see SiteModelFactory#canParseSiteType(String)
- */
- public boolean canParseSiteType(String type) {
- return (super.canParseSiteType(type) || SiteURLContentProvider.SITE_TYPE.equalsIgnoreCase(type));
- }
-
-}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/TargetFeature.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/TargetFeature.java
deleted file mode 100644
index 67e55d2..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/TargetFeature.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.Feature;
-import org.eclipse.update.core.IFeatureContentConsumer;
-
-/**
- *
- */
-public class TargetFeature extends Feature {
-
-
- /**
- * The content consumer of the DefaultFeature
- */
- private IFeatureContentConsumer contentConsumer;
-
-
- /**
- * Constructor for TargetFeature.
- */
- public TargetFeature() {
- super();
- }
-
- /**
- * Sets the content Consumer
- */
- public void setContentConsumer(IFeatureContentConsumer contentConsumer) {
- this.contentConsumer = contentConsumer;
- contentConsumer.setFeature(this);
- }
-
- /*
- * @see IFeature#getFeatureContentConsumer()
- */
- public IFeatureContentConsumer getFeatureContentConsumer() throws CoreException {
- if (this.contentConsumer == null) {
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, Policy.bind("Feature.NoFeatureContentConsumer", getURL().toExternalForm()), null); //$NON-NLS-1$
- throw new CoreException(status);
- }
- return contentConsumer;
- }
-
-}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/URLEncoder.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/URLEncoder.java
deleted file mode 100644
index 3cbd571..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/URLEncoder.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.UnsupportedEncodingException;
-
-import java.net.URL;
-import java.net.MalformedURLException;
-
-import java.util.StringTokenizer;
-
-/**
- * Encodes a <code>URL</code> into an <code>ASCII</code> readable
- * <code>URL</code> that is safe for transport. Encoded
- * <code>URL</code>s can be decoded using the <code>URLDecoder</code>.
- *
- * @see URLDecoder
- */
-public final class URLEncoder {
- /**
- * Prevents instances from being created.
- */
- private URLEncoder() {
- }
- /**
- * Encodes the given <code>URL</code> into an <code>ASCII</code>
- * readable <code>URL</code> that is safe for transport. Returns the
- * result.
- *
- * @return the result of encoding the given <code>URL</code> into an
- * <code>ASCII</code> readable <code>URL</code> that is safe for
- * transport
- */
- public static String encode(String url) {
- try {
- return encode(new URL(url)).toString();
- } catch (MalformedURLException e) {
- }
-
- String file;
- String ref = null;
-
- int lastSlashIndex = url.lastIndexOf('/');
- int lastHashIndex = url.lastIndexOf('#');
- if ((lastHashIndex - lastSlashIndex > 1) && lastHashIndex < url.length() - 1) {
- file = url.substring(0, lastHashIndex);
- ref = url.substring(lastHashIndex + 1, url.length());
- } else {
- file = url;
- }
-
- return encode(file, ref);
- }
- /**
- * Encodes the given file and reference parts of a <code>URL</code> into
- * an <code>ASCII</code> readable <code>String</code> that is safe for
- * transport. Returns the result.
- *
- * @return the result of encoding the given file and reference parts of
- * a <code>URL</code> into an <code>ASCII</code> readable
- * <code>String</code> that is safe for transport
- */
- public static String encode(String file, String ref) {
- StringBuffer buf = new StringBuffer();
- StringTokenizer tokenizer = new StringTokenizer(file, "/", true); //$NON-NLS-1$
-
- while (tokenizer.hasMoreTokens()) {
- String token = tokenizer.nextToken();
- if (token.equals("/")) { //$NON-NLS-1$
- buf.append(token);
- } else {
- buf.append(encodeSegment(token));
- }
- }
-
- if (ref != null) {
- buf.append('#');
- buf.append(encodeSegment(ref));
- }
-
- return buf.toString();
- }
- /**
- * Encodes the given <code>URL</code> into an <code>ASCII</code>
- * readable <code>URL</code> that is safe for transport. Returns the
- * result.
- *
- * @return the result of encoding the given <code>URL</code> into an
- * <code>ASCII</code> readable <code>URL</code> that is safe for
- * transport
- */
- public static URL encode(URL url) throws MalformedURLException {
- String file = url.getFile();
- String ref = url.getRef();
-
- return new URL(url.getProtocol(), url.getHost(), url.getPort(), encode(file, ref));
- }
- private static String encodeSegment(String segment) {
- StringBuffer result = new StringBuffer(segment.length());
-
- for (int i = 0; i < segment.length(); ++i) {
- char c = segment.charAt(i);
- if (mustEncode(c)) {
- byte[] bytes = null;
- try {
- bytes = new Character(c).toString().getBytes("UTF8"); //$NON-NLS-1$
- } catch (UnsupportedEncodingException e) {
- Assert.isTrue(false, e.getMessage());
- }
- for (int j = 0; j < bytes.length; ++j) {
- result.append('%');
- result.append(Integer.toHexString((bytes[j] >> 4) & 0x0F));
- result.append(Integer.toHexString(bytes[j] & 0x0F));
- }
- } else {
- result.append(c);
- }
- }
-
- return result.toString();
- }
- private static boolean mustEncode(char c) {
- if (c >= 'a' && c <= 'z') {
- return false;
- }
-
- if (c >= 'A' && c <= 'Z') {
- return false;
- }
-
- if (c >= '0' && c <= '9') {
- return false;
- }
-
- if (c >= '\'' && c <= '.') {
- return false;
- }
-
- if (c == '!' || c == '$' || c == '_') {
- return false;
- }
-
- // needed otherwise file:///c:/file/ becomes file:///C%3a/file/
- if (c ==':'){
- return false;
- }
- return true;
- }
-}
\ No newline at end of file
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 c45d8a4..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.help.AppServer;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UpdateManagerPlugin extends Plugin {
-
- // debug options
- public static boolean DEBUG = false;
- public static boolean DEBUG_SHOW_INSTALL = false;
- public static boolean DEBUG_SHOW_PARSING = false;
- public static boolean DEBUG_SHOW_WARNINGS = false;
- public static boolean DEBUG_SHOW_CONFIGURATION = false;
- public static boolean DEBUG_SHOW_TYPE = false;
- public static boolean DEBUG_SHOW_WEB = false;
- public static boolean DEBUG_SHOW_IHANDLER = false;
- public static boolean DEBUG_SHOW_RECONCILER = false;
-
- //The shared instance.
- private static UpdateManagerPlugin plugin;
-
- // web install
- private static String appServerHost =null;
- private static int appServerPort = 0;
-
- /**
- * The constructor.
- */
- public UpdateManagerPlugin(IPluginDescriptor descriptor) {
- super(descriptor);
- plugin = this;
- }
-
- /**
- * Returns the shared instance.
- */
- public static UpdateManagerPlugin getPlugin() {
- return plugin;
- }
-
- /**
- * Returns the host identifier for the web app server
- */
- public static String getWebAppServerHost() {
- return appServerHost;
- }
-
- /**
- * Returns the port identifier for the web app server
- */
- public static int getWebAppServerPort() {
- return appServerPort;
- }
-
- /**
- * @see Plugin#startup()
- */
- public void startup() throws CoreException {
- super.startup();
-
- DEBUG = getBooleanDebugOption("org.eclipse.update.core/debug", false); //$NON-NLS-1$
-
- if (DEBUG) {
- DEBUG_SHOW_WARNINGS = getBooleanDebugOption("org.eclipse.update.core/debug/warning", false); //$NON-NLS-1$
- DEBUG_SHOW_PARSING = getBooleanDebugOption("org.eclipse.update.core/debug/parsing", false); //$NON-NLS-1$
- DEBUG_SHOW_INSTALL = getBooleanDebugOption("org.eclipse.update.core/debug/install", false); //$NON-NLS-1$
- DEBUG_SHOW_CONFIGURATION = getBooleanDebugOption("org.eclipse.update.core/debug/configuration", false); //$NON-NLS-1$
- DEBUG_SHOW_TYPE = getBooleanDebugOption("org.eclipse.update.core/debug/type", false); //$NON-NLS-1$
- DEBUG_SHOW_WEB = getBooleanDebugOption("org.eclipse.update.core/debug/web", false); //$NON-NLS-1$
- DEBUG_SHOW_IHANDLER = getBooleanDebugOption("org.eclipse.update.core/debug/installhandler", false); //$NON-NLS-1$
- DEBUG_SHOW_RECONCILER = getBooleanDebugOption("org.eclipse.update.core/debug/reconciler", false); //$NON-NLS-1$
- }
-
-// startupWebInstallHandler();
- }
-
- private void startupWebInstallHandler() throws CoreException {
-
- // configure web install handler
- if (!AppServer.add("org.eclipse.update", "org.eclipse.update.webapp", "")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (DEBUG_SHOW_WEB)
- debug("Unable to configure web install handler"); //$NON-NLS-1$
- return;
- }
-
- appServerHost = AppServer.getHost();
- appServerPort = AppServer.getPort();
- if (DEBUG_SHOW_WEB)
- debug("Web install handler configured on " + appServerHost + ":" + appServerPort); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- private boolean getBooleanDebugOption(String flag, boolean dflt) {
- String result = Platform.getDebugOption(flag);
- if (result == null)
- return dflt;
- else
- return result.trim().equalsIgnoreCase("true"); //$NON-NLS-1$
- }
-
- /**
- * dumps a String in the trace
- */
- public void debug(String s) {
- System.out.println(toString() + "^" + Integer.toHexString(Thread.currentThread().hashCode()) + " " + s); //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerReconciler.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerReconciler.java
deleted file mode 100644
index f872bd5..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerReconciler.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package org.eclipse.update.internal.core;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.util.Date;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.boot.IPlatformConfiguration;
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.update.core.SiteManager;
-import org.eclipse.update.core.Utilities;
-
-/**
- * Update manager reconciler application.
- * This application is invoked by the platform startup support
- * whenever changes are detected in the installation that require
- * the update state to be reconciled. Typically, this will be as
- * a result of installation actions that were done directly
- * in the file system bypassing the Update Manager.
- * When triggered, this application performs the following:
- * <ul>
- * <li>call update manager reconciler
- * <li>if plugin path changed as a result of this call, trigger
- * restart ("exit code 23")
- * <li>if plugin path has not changed as a result of this call,
- * start this original application
- * </ul>
- */
-
-public class UpdateManagerReconciler implements IPlatformRunnable {
-
- // NOTE: originalApplication is set to a dummy string to prevent "silent"
- // failures in case of internal errors
- private String originalApplication = "org.eclipse.update.UNKNOWN"; //$NON-NLS-1$
- private boolean DEBUG = false;
-
- private static final String APPLICATION = "-application"; //$NON-NLS-1$
-
- /**
- * @see IPlatformRunnable#run(Object)
- */
- public Object run(Object args) throws Exception {
-
- // get debug setting
- DEBUG = UpdateManagerPlugin.DEBUG_SHOW_RECONCILER;
-
- // obtain current platform configuration and save stamps
- IPlatformConfiguration cfg = BootLoader.getCurrentPlatformConfiguration();
- long originalPluginsStamp = cfg.getPluginsChangeStamp();
-
- // perform reconciliation
- long start = 0;
- if (DEBUG) {
- start = new Date().getTime();
- debug("begin"); //$NON-NLS-1$
- }
-
- reconcile(cfg);
- long newPluginsStamp = cfg.getPluginsChangeStamp();
-
- if (DEBUG) {
- long delta = (new Date().getTime()) - start;
- debug("end [" + delta + "ms]"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- // see if plugins have changed
- if (newPluginsStamp != originalPluginsStamp) {
- // plugins lineup changed ... need to restart
- if (DEBUG)
- debug("restarting ..."); //$NON-NLS-1$
- Platform.endSplash();
- return EXIT_RESTART;
- } else {
- // plugins lineup did not change ... no need to restart,
- // just continue starting up the original app
- String[] appArgs = processCommandLine((String[])args);
- IPlatformRunnable originalRunnable = getRunnable(originalApplication);
- if (originalRunnable == null)
- throw new IllegalArgumentException(Policy.bind("Reconciler.appNotFound",originalApplication)); //$NON-NLS-1$
- if (DEBUG)
- debug("invoking " + originalApplication + " ..."); //$NON-NLS-1$ //$NON-NLS-2$
- return originalRunnable.run(appArgs);
- }
- }
-
- private void reconcile(IPlatformConfiguration cfg) {
-
- // do the reconciliation
- try {
- SiteManager.getLocalSite();
- } catch (CoreException e){
- UpdateManagerPlugin.getPlugin().getLog().log(e.getStatus());
- }
- cfg.refresh(); // for now just force recompute of stamps
- }
-
- private String[] processCommandLine(String[] args) {
- int[] configArgs = new int[100];
- configArgs[0] = -1; // need to initialize the first element to something that could not be an index.
- int configArgIndex = 0;
- for (int i = 0; i < args.length; i++) {
- boolean found = false;
- // check for args 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 application argument
- if (args[i - 1].equalsIgnoreCase(APPLICATION)) {
- found = true;
- originalApplication = arg;
- }
-
- // done checking for args. Remember where an arg was found
- if (found) {
- configArgs[configArgIndex++] = i - 1;
- configArgs[configArgIndex++] = i;
- }
- }
-
- // remove all the arguments consumed by this argument parsing
- if (configArgIndex == 0)
- return args;
- String[] passThruArgs = new String[args.length - configArgIndex];
- configArgIndex = 0;
- int j = 0;
- for (int i = 0; i < args.length; i++) {
- if (i == configArgs[configArgIndex])
- configArgIndex++;
- else
- passThruArgs[j++] = args[i];
- }
- return passThruArgs;
- }
-
- private IPlatformRunnable getRunnable(String application) {
- // NOTE: we need to get the runnable for the original application.
- // We can either lookup the application extension point (duplicate
- // the InternalPlatform logic here), or make the internal call
- return InternalPlatform.loaderGetRunnable(application);
- }
-
- private void debug(String s) {
- UpdateManagerPlugin.getPlugin().debug(this.getClass().getName()+": "+s);
- }
-}
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 243fe36..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
+++ /dev/null
@@ -1,278 +0,0 @@
-package org.eclipse.update.internal.core;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.update.core.IPluginEntry;
-import org.eclipse.update.core.InstallMonitor;
-import org.eclipse.update.core.Utilities;
-
-/**
- *
- */
-public class UpdateManagerUtils {
-
- /**
- * 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("")) { //$NON-NLS-1$
-
- // no URL, no default, return right now...
- if (defaultURL == null || defaultURL.trim().equals("")) //$NON-NLS-1$
- return null;
- else
- urlString = defaultURL;
- }
-
- // URL can be relative or absolute
- if (urlString.startsWith("/") && urlString.length() > 1) //$NON-NLS-1$
- urlString = urlString.substring(1);
- try {
- url = new URL(urlString);
- } catch (MalformedURLException e) {
- // the url is not an absolute URL
- // try relative
- 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;
-
- // if no URL , return null
- if (url != null) {
- result = url.toExternalForm();
-
- if (rootURL.getHost()!=null && !rootURL.getHost().equals(url.getHost()))
- return result;
-
- if (rootURL.getProtocol()!=null && !rootURL.getProtocol().equals(url.getProtocol()))
- return result;
-
- if (rootURL.getPort()!=url.getPort())
- return result;
-
- String rootString = rootURL.getFile();
- rootString.replace(File.separatorChar,'/');
- if (!rootString.endsWith("/")){
- int index = rootString.lastIndexOf('/');
- if (index!=-1){
- rootString = rootString.substring(0,index);
- }
- }
- String urlString = url.getFile();
-
- 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;
- };
-
-
-
- /**
- *
- */
- public static URL copyToLocal(InputStream sourceContentReferenceStream, String localName, InstallMonitor 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()) {
- OutputStream localContentReferenceStream = new FileOutputStream(localFile);
- Utilities.copy(sourceContentReferenceStream, localContentReferenceStream,monitor);
- localContentReferenceStream.close();
- }
- result = localFile.toURL();
-
- 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, Date date) {
- int dotIndex = remotePath.lastIndexOf("."); //$NON-NLS-1$
- int fileIndex = remotePath.lastIndexOf(File.separator);
-
- // if there is a separator after the dot
- // do not consider it as an extension
- String ext = (dotIndex != -1 && fileIndex < dotIndex) ? remotePath.substring(dotIndex) : ""; //$NON-NLS-1$
-
- // the name is the 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_"; //$NON-NLS-1$
-
- String result = name + date.getTime() + ext;
-
- return result;
- }
-
-
- /**
- * 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,Policy.bind("UpdateManagerUtils.UnableToRemoveFile", file.getAbsolutePath()),new Exception()); //$NON-NLS-1$ //$NON-NLS-2$
- UpdateManagerPlugin.getPlugin().getLog().log(status);
- }
- }
-
- /**
- * Returns the plugin entries that are in source array and
- * not in target array
- */
- public static IPluginEntry[] diff(IPluginEntry[] sourceArray, IPluginEntry[] targetArray) {
-
- // No pluginEntry to Install, return Nothing to instal
- if (sourceArray == null || sourceArray.length == 0) {
- return new IPluginEntry[0];
- }
-
- // No pluginEntry installed, Install them all
- if (targetArray == null || targetArray.length == 0) {
- return sourceArray;
- }
-
- // if a IPluginEntry from sourceArray is NOT in
- // targetArray, add it to the list
- List list1 = Arrays.asList(targetArray);
- List result = new ArrayList(0);
- for (int i = 0; i < sourceArray.length; i++) {
- if (!list1.contains(sourceArray[i]))
- result.add(sourceArray[i]);
- }
-
- IPluginEntry[] resultEntry = new IPluginEntry[result.size()];
- if (result.size() > 0)
- result.toArray(resultEntry);
-
- return resultEntry;
- }
-
- /**
- * Returns the parent URL of the given URL, or <code>null</code> if the
- * given URL is the root.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Parent URL</th>
- * <tr>
- * <td>"http://hostname/"</td>
- * <td>null</td>
- * <tr>
- * <td>"http://hostname/folder/file</td>
- * <td>"http://hostname/folder/</td>
- * </table>
- *
- * @param url a URL
- * @return the parent of the given URL
- */
- public static URL getParent(URL url) {
- String file = url.getFile();
- int len = file.length();
- if (len == 0 || len == 1 && file.charAt(0) == '/')
- return null;
- int lastSlashIndex = -1;
- for (int i = len - 2; lastSlashIndex == -1 && i >= 0; --i){
- if (file.charAt(i) == '/')
- lastSlashIndex = i;
- }
- if (lastSlashIndex == -1)
- file = "";
- else
- file = file.substring(0, lastSlashIndex + 1);
-
- try {
- url = new URL(url.getProtocol(), url.getHost(), url.getPort(), file);
- } catch(MalformedURLException e){
- Assert.isTrue(false, e.getMessage());
- }
- return url;
- }
-
- public static CoreException newCoreException(String s, Throwable e) throws CoreException {
- if (e != null && e instanceof CoreException)
- return (CoreException)e;
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- return new CoreException(new Status(IStatus.ERROR,id,0,s,e));
- }
-}
\ 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 f220623..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/Writer.java
+++ /dev/null
@@ -1,88 +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.configuration.*;
-import org.eclipse.update.configuration.IInstallConfiguration;
-import org.eclipse.update.configuration.ILocalSite;
-import org.eclipse.update.core.ISite;
-
-public class Writer {
-public Writer() {
- super();
-}
-
-public void writeSite(IWritable element, PrintWriter w) {
-
- w.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); //$NON-NLS-1$
- w.println(""); //$NON-NLS-1$
- w.println("<!-- File written by Update manager 2.0 -->"); //$NON-NLS-1$
- w.println("<!-- comments in this file are not preserved -->"); //$NON-NLS-1$
- w.println(""); //$NON-NLS-1$
- ((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("&#"); //$NON-NLS-1$
- 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"; //$NON-NLS-1$
- case '>' :
- return "gt"; //$NON-NLS-1$
- case '"' :
- return "quot"; //$NON-NLS-1$
- case '\'' :
- return "apos"; //$NON-NLS-1$
- case '&' :
- return "amp"; //$NON-NLS-1$
- }
- return null;
-}
-}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/messages.properties b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/messages.properties
deleted file mode 100644
index dcd60d8..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/messages.properties
+++ /dev/null
@@ -1,219 +0,0 @@
-#
-#
-#
-
-BaseSiteFactory.CannotRetriveParentDirectory= Unable to retrieve parent directory for URL {0}.
-BaseSiteFactory.CannotEncodeURL= Unable to encode URL {0}.
-
-ContentReference.UnableToCreateInputStream= Unable to create an input stream for the reference {0}.
-ContentReference.UnableToReturnReferenceAsFile= Unable to return reference {0} as File.
-ContentReference.UnableToReturnReferenceAsURL= Unable to return reference {0} as URL.
-
-Feature.SiteAlreadySet= Internal Error: Site already set for the feature {0}.
-Feature.TaskInstallFeatureFiles= Installing feature files:
-Feature.TaskInstallPluginFiles= Installing plug-in [
-Feature.TaskInstallNonPluginsFiles= Installing non-plug-in files:
-Feature.NoContentProvider= The Feature {0} does not have a Content Provider. Internal Error.
-Feature.NoFeatureContentConsumer= The Feature {0} does not have a Content Consumer. Internal Error.
-Feature.NoURL= Unknown URL
-Feature.FeatureVersionToString= Feature: {0} Version: {1}
-
-FeatureContentProvider.Downloading= Downloading :
-
-InstallHandler.unableToCreateHandler = Unable to create custom install handler for feature "{0}".
-InstallHandler.notFound = Custom install handler required by feature "{0}" was not found.
-InstallHandler.invalidHandler = Feature "{0}" contains invalid custom install handler.
-InstallHandler.callException = Error reported by custom install handler for feature "{0}".
-InstallHandler.deactivated = Custom install handler for feature "{0}" deactivated due to errors.
-InstallHandler.error = Unable to complete action for feature "{0}" due to errors.
-
-InstallMonitor.DownloadSize = ({0}K bytes)
-InstallMonitor.DownloadSizeLong = ({0}K of {1}K bytes)
-
-Reconciler.appNotFound = Application "{0}" not found.
-
-JarContentReference.Unpacking= Unpacking :
-
-Site.CannotSaveSiteInto= Cannot save Site information into the File: {0}.
-Site.CannotFindCategory= Unable to find category: {0} in Site: {1}.
-Site.NoCategories= The Site does not contain any categories.
-Site.NoContentProvider= Content Provider not set for Site: {0}. Internal Error.
-
-VersionedIdentifier.IdOrVersionNull= Unable to create an Identifier. The unique identifier or the version is null or empty: unique identifier={0} version={1}. Internal Error.
-
-SiteFile.CannotRemovePlugin= Unable to remove plugin: {0} from Site: {1}.
-SiteFile.CannotRemoveFeature= Unable to remove feature: {0} from Site: {1}.
-SiteFile.UnableToCreateURL= Unable to create URL for location {0}
-SiteFile.Removing= Removing :
-
-DefaultFeatureParser.NoFeatureTag= Error parsing feature stream. Unable to find root element 'feature' in the stream.
-DefaultFeatureParser.WrongParsingStack= Internal Error parsing feature stream. Unexpected Parsing Stack: {0}
-DefaultFeatureParser.UnknownElement= Error parsing feature stream. Unknown element '{0}' in parsing state '{1}'. Check the validity of the XML file.
-DefaultFeatureParser.TooManyURLtag= Error parsing feature stream. There is more than one 'URL' element in the XML stream. There should be only one.
-DefaultFeatureParser.UnknownStartState= Internal Error parsing feature stream. Unknown start state '{0}'.
-DefaultFeatureParser.IdOrVersionInvalid= Error parsing feature stream. The unique identifier or the version is null or empty for the State: '{2}' : unique identifier={0} version={1}.
-DefaultFeatureParser.MissingId= Error parsing feature stream. The 'id' tag of the element '{0}' is null or empty. Value is required.
-DefaultFeatureParser.ParsingStackBackToInitialState= Internal Error parsing feature stream. Parsing stack back to Initial State.
-DefaultFeatureParser.ElementAlreadySet= Error parsing feature stream. Element: '{0}' already set for the Feature.
-DefaultFeatureParser.StateIncludeWrongElement= Error parsing feature stream. State: '{0}' should not include Element '{1}'.
-DefaultFeatureParser.RequireStateWithoutImportElement= Error parsing feature stream. State: 'require' must include at least an 'import' element.
-DefaultFeatureParser.UnknownEndState= Internal Error parsing feature stream. Unknown end state '{0}'.
-DefaultFeatureParser.ErrorParsing= Error Parsing feature stream. Error: {0}
-DefaultFeatureParser.ErrorlineColumnMessage= Error Parsing feature stream. Element {0} line: {1} column:{2}. Error: {3}.
-DefaultFeatureParser.ErrorParsingFeature= Error Parsing feature stream.
-DefaultFeatureParser.UnknownState= Unknown State {0}.
-DefaultFeatureParser.NoLicenseText= Error parsing feature stream. State: 'license' must include some text.
-
-
-SiteContentProvider.ErrorCreatingURLForArchiveID= Internal Error . Unable to create URL for Archive Identifier {0} on Site {1}.
-
-DefaultSiteParser.NoSiteTag= Error parsing site stream. Unable to find root element 'site' in the stream.
-DefaultSiteParser.WrongParsingStack= Internal Error parsing site stream. Unexpected Parsing Stack: {0}
-DefaultSiteParser.UnknownElement= Error parsing site stream. Unknown element '{0}' in parsing state '{1}'. Check the validity of the XML file.
-DefaultSiteParser.UnknownStartState= Internal Error parsing site stream. Unknown start state '{0}'.
-DefaultSiteParser.Missing= Error parsing site stream. The '{0}' tag of the element '{1}' is null or empty. Value is required.
-DefaultSiteParser.ParsingStackBackToInitialState= Internal Error parsing site stream. Parsing stack back to Initial State.
-DefaultSiteParser.ElementAlreadySet= Error parsing site stream. Element: '{0}' already set for the Site.
-DefaultSiteParser.CategoryAlreadySet= Error parsing site stream. Element: '{0}':{1} already set for the Site.
-DefaultSiteParser.UnknownEndState= Internal Error parsing site stream. Unknown end state '{0}'.
-DefaultSiteParser.ErrorParsing= Error Parsing site stream. Error: {0}
-DefaultSiteParser.ErrorlineColumnMessage= Error Parsing site stream. Element {0} line: {1} column:{2}. Error: {3}.
-DefaultSiteParser.ErrorParsingFeature= Error Parsing site stream.
-DefaultSiteParser.UnknownState= Unknown State {0}.
-
-ModelObject.ModelReadOnly= Internal Error. The Model Object is read-only.
-
-InstallConfiguration.ParsingErrorDuringCreation= Internal Error parsing {0}: {1}.
-InstallConfiguration.ErrorDuringFileAccess= Error accessing file: {0}.
-
-Parser.UnableToCreateURL= Internal Error Parsing stream. Check the validity of the URLs.
-Parser.InternalError= Error Parsing Stream. An internal error occured. {0}.
-
-InstallConfigurationParser.FeatureReferenceNoURL= Error Parsing Stream. A Feature Reference Element does not have a URL tag. Value is required.
-
-FeatureExecutableContentProvider.FileDoesNotExist= The file {0} does not exist.
-FeatureExecutableContentProvider.InvalidDirectory= The path {0} is not a valid directory.
-FeatureExecutableContentProvider.UnableToCreateURLFor= Unable to create a URL for {0}.
-FeatureExecutableContentProvider.UnableToRetrieveArchive= Error retrieving the plugin entry: {0}.
-FeatureExecutableContentProvider.UnableToRetrieveNonPluginEntry= Error retrieving the non plugin entry: {0}.
-FeatureExecutableContentProvider.UnableToRetrieveFeatureEntry= Error retrieving feature entry content reference: {0}.
-FeatureExecutableContentProvider.UnableToRetrievePluginEntry = Error retrieving the plugin entry: {0}.
-
-
-ConfiguredSite.NonInstallableSite= You cannot install in the site {0}. It is considered non updatable.
-ConfiguredSite.NullFeatureToInstall= Internal Error. The Feature to be installed is null.
-ConfiguredSite.NonUninstallableSite= You cannot uninstall from the site {0}. It is considered non updatable.
-ConfiguredSite.NoSite= No Site
-ConfiguredSite.CannotFindFeatureToUnconfigure= Internal Error. Unable to unconfigure feature {0} on site {1}. Cannot find feature.
-ConfiguredSite.CannotFindFeatureToConfigure= Internal Error. Unable to configure feature {0}. Cannot find feature.
-ConfiguredSite.CannotFindPluginEntry= Internal Error. Unable to retrieve Plugin Entry {0} on site {1}. Cannot find plugin entry.
-ConfiguredSite.MissingPluginsBrokenFeature= The feature {0} is broken for the site {1}. The feature requires the folloing plugins that are missing from the site: {3}
-ConfiguredSite.UnableToRemoveConfiguredFeature= Unable to remove a configured feature: {0} You must unconfigure the feature first.
-ConfiguredSite.UnableToFindFeature= Unable to Find the feature {0} on this site.
-
-FeatureFactory.ParsingError= Error parsing 'feature.xml' stream in the feature archive {0}.
-
-FeatureExecutableFactory.NullURL= Error creating Feature. The URL used to create the feature is null.
-FeatureExecutableFactory.CannotCreateURL= Error creating Feature. Unable to create URL for {0}.
-
-FeaturePackagedContentProvider.NoManifestFile= Unable to retrieve {0} in feature {1} at location {2}. {0} does not exist.
-FeaturePackagedContentProvider.ErrorRetrieving= Error retrieving {0} in Archive Reference {1} at location {2}. cannot access {0}.
-FeaturePackagedContentProvider.NoFeature= No Feature
-FeaturePackagedContentProvider.FileDoesNotExist= The File '{0}' does not exist.
-FeaturePackagedContentProvider.InvalidDirectory= The directory '{0}' is not a valid directory.
-FeaturePackagedContentProvider.NoReference= No Reference
-
-FeatureReference.UnableToResolveURL= Internal Error: Unable to resolve model using URL: {0}.
-
-FeatureTypeFactory.UnableToFindFeatureFactory= Unable to find a feature factory for the extension id {0}.
-
-InstallConfiguration.UnableToSaveConfiguration= Unable to save configuration in {0}.
-InstallConfiguration.UnableToCreateURL= Unable to create URL from {0}.
-InstallConfiguration.UnableToCast= Internal Error. The Configuration Site object is not a subclass of ConfiguredSiteModel
-InstallConfiguration.UnableToFindConfiguredSite= Unable to find site {0} in platform configuration {1}.
-InstallConfiguration.UnableToSavePlatformConfiguration= Unable to save platform configuration in {0}.
-InstallConfiguration.DeletedConfiguration= * Deleted Configuration *
-
-InternalSiteManager.UnableToCreateSiteWithType= Extension Error. The Site Factory of type {0} cannot access the Site(1}.
-InternalSiteManager.UnableToAccessURL= Unable to access {0}. {1}
-InternalSiteManager.UnableToCreateURL= Unable to create URL from {0}.
-InternalSiteManager.UnableToParseURL= Unable to parse the stream {0}.
-
-Policy.NoMessageAvailable= No message available.
-Policy.MissingMessage= Missing message: {0}.
-Policy.Missing= missing {0}
-
-GlobalConsumer.ErrorCreatingFile= Unable to create file {0}.
-
-SiteFileContentConsumer.UnableToCreateURL= Unable to create URL from {0}.
-SiteFileContentConsumer.UnableToCreateURLForFile= Unable to create URL for the file {0}.
-
-SiteFileFactory.UnableToRetriveSite= Unable retrieve this Site from a directory. The URL should point to a file instead.
-SiteFileFactory.UnableToObtainParentDirectory= Unable obtain the parent directory from the file {0}.
-SiteFileFactory.FileDoesNotExist= Unable to access site {0}. the directory does not exist.
-SiteFileFactory.UnableToCreateURLForFile= Unable to create URL from {0}.
-SiteFileFactory.ErrorParsingFile= Unable to parse file {0}.
-SiteFileFactory.ErrorAccessing= Unable to access file {0}.
-
-SiteTypeFactory.UnableToFindSiteFactory= Unable to find a site factory for the extension id {0}.
-
-UpdateManagerUtils.UnableToRemoveFile= Unable to remove {0} from the filesystem.
-
-SiteLocal.ErrorParsingSavedState= Error during parsing of the configuration saved state {0}.
-SiteLocal.UnableToCreateURLFor= Unable to create URL from {0}.
-SiteLocal.UnableToAccessFile= Unable to access file [0}.
-SiteLocal.UnableToSaveStateIn= Unable to persist configurations into {0}.
-SiteLocal.UnableToResolve= Internal Error.Unable to resolve {0}.
-
-JarVerifier.Verify= Verifying : {0}
-JarVerifier.UnableToFindEncryption= Unable to find algorithm to verify integrity of keystore {0}.
-JarVerifier.UnableToLoadCertificate= Unable to load one or multiples certificates in the keystore {0}.
-JarVerifier.UnableToFindProviderForKeystore= Unable to find provider for the keystore type {0}.
-JarVerifier.KeyStoreNotLoaded= Internal Error. KeyStore not Initialized / Loaded.
-JarVerifier.UnableToAccessJar= Unable to access JAR file {0}.
-JarVerifier.InvalidFile= The File {0} is not a valid JAR file. It does not contain a Manifest
-
-JarVerificationDialog.Verification= Verification
-JarVerificationDialog.AboutToInstall= You are about to install an unsigned {0}.
-JarVerificationDialog.NotDigitallySigned= This {0} has not been digitally signed.
-JarVerificationDialog.CannotVerifyProvider= The provider of this {0} cannot be verified.
-JarVerificationDialog.ContinueMayCorrupt= Continuing to install this feature may corrupt your installation.
-JarVerificationDialog.InstallMayCorrupt= Installing this feature may corrupt your installation.
-JarVerificationDialog.CorruptedContent= The content of this {0} has been corrupted
-JarVerificationDialog.ComponentNotInstalled= This feature will not be installed.
-JarVerificationDialog.SignedComponent= You are about to install a signed {0}.
-JarVerificationDialog.UnknownCertificate= The certificates used to authenticate this {0} are not recognized.
-JarVerificationDialog.UnableToVerifyProvider= The provider of this {0} cannot be verified.
-JarVerificationDialog.FileName= File Identifier:
-JarVerificationDialog.FeatureName= Feature name:
-JarVerificationDialog.FeatureIdentifier= Feature Identifier:
-JarVerificationDialog.Provider= Provider:
-JarVerificationDialog.MayChooseToInstall= You may choose to install the feature or cancel its installation.
-JarVerificationDialog.MayChooseToContinue= You may choose to continue to install the feature or cancel its installation.
-JarVerificationDialog.Install= Install Feature
-JarVerificationDialog.Continue= Continue Installing Feature
-JarVerificationDialog.Cancel= Cancel Feature Installation
-JarVerificationDialog.KnownCertificate= One of the certificates used to authenticate this {0} was recognized.
-JarVerificationDialog.ProviderKnown= The provider of this {0} has been validated by a trusted third party.
-JarVerificationDialog.Caution= \r\nCaution: '{0}' asserts that the content of this feature is safe. \r\nYou should only install this feature if you trust '{0}' to make that assertion
-
-JarVerificationService.ErrorVerification= Error occurred during verification.
-JarVerificationService.VerificationCanceled= Verification cancelled.
-JarVerificationService.UnsucessfulVerification= Verification of feature unsucessful. Installation cancelled.
-JarVerificationService.CancelInstall= Installation cancelled.
-
-UserVerificationDialog.PasswordRequired= Password Required
-UserVerificationDialog.EnterNameAndPassword= Enter user name and password for: {0}
-UserVerificationDialog.Domain= At the following domain: {0}
-UserVerificationDialog.Password= Password:
-UserVerificationDialog.UserName= User name:
-
-JarVerificationResult.RootCA= According to:
-JarVerificationResult.CAIssuer= Certificate Issuer : {0}.
-JarVerificationResult.ValidBetween= Valid between {0} and {1}.
-JarVerificationResult.SubjectCA= File signed by:
-JarVerificationResult.ExpiredCertificate= * EXPIRED CERTIFICATE *
-JarVerificationResult.CertificateNotYetValid= * CERTIFICATE NOT YET VALID *
-JarVerificationResult.CertificateValid= Valid certificate.
-
-
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfigurationActivityModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfigurationActivityModel.java
deleted file mode 100644
index 4b7d53b..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfigurationActivityModel.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.eclipse.update.internal.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import java.io.PrintWriter;
-import java.util.Date;
-
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.configuration.IActivity;
-import org.eclipse.update.core.model.ModelObject;
-
-public class ConfigurationActivityModel extends ModelObject{
-
- private String label;
- private int action;
- private Date date;
- private int status;
- private InstallConfigurationModel installConfiguration;
-
-
- /**
- * Constructor for ConfigurationActivityModel.
- */
- public ConfigurationActivityModel() {
- super();
- }
-
- /**
- * @since 2.0
- */
- public int getAction() {
- return action;
- }
-
- /**
- * @since 2.0
- */
- public Date getDate() {
- return date;
- }
-
- /**
- * @since 2.0
- */
- public int getStatus() {
- return status;
- }
-
- /**
- * Sets the date.
- * @param date The date to set
- */
- public void setDate(Date date) {
- assertIsWriteable();
- this.date = date;
- }
-
- /**
- * Sets the status.
- * @param status The status to set
- */
- public void setStatus(int status) {
- assertIsWriteable();
- this.status = status;
- }
-
- /**
- * @since 2.0
- */
- public String getLabel() {
- return label;
- }
-
- /**
- * Sets the label.
- * @param label The label to set
- */
- public void setLabel(String label) {
- assertIsWriteable();
- this.label = label;
- }
-
- /**
- * Sets the action.
- * @param action The action to set
- */
- public void setAction(int action) {
- assertIsWriteable();
- this.action = action;
- }
-
- /**
- * Gets the installConfiguration.
- * @return Returns a InstallConfigurationModel
- */
- public InstallConfigurationModel getInstallConfigurationModel() {
- return installConfiguration;
- }
-
- /**
- * Sets the installConfiguration.
- * @param installConfiguration The installConfiguration to set
- */
- public void setInstallConfigurationModel(InstallConfigurationModel installConfiguration) {
- assertIsWriteable();
- this.installConfiguration = installConfiguration;
- }
-
-}
-
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfigurationPolicyModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfigurationPolicyModel.java
deleted file mode 100644
index 931c4b0..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfigurationPolicyModel.java
+++ /dev/null
@@ -1,218 +0,0 @@
-package org.eclipse.update.internal.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.boot.IPlatformConfiguration;
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.FeatureReferenceModel;
-import org.eclipse.update.core.model.ModelObject;
-
-/**
- *
- */
-public class ConfigurationPolicyModel extends ModelObject {
-
-
-
-
- private int policy;
- private List /* of FeatureReferenceModel */configuredFeatureReferences;
- private List /* of FeatureReferenceModel */unconfiguredFeatureReferences;
-
- /**
- * Constructor for ConfigurationPolicyModel.
- */
- public ConfigurationPolicyModel() {
- super();
- configuredFeatureReferences = new ArrayList();
- unconfiguredFeatureReferences = new ArrayList();
- }
-
- /**
- * Copy Constructor for ConfigurationPolicyModel.
- */
- public ConfigurationPolicyModel(ConfigurationPolicyModel configPolicy) {
- super();
- this.policy = configPolicy.getPolicy();
- configuredFeatureReferences = new ArrayList();
- configuredFeatureReferences.addAll(Arrays.asList(configPolicy.getConfiguredFeaturesModel()));
- unconfiguredFeatureReferences = new ArrayList();
- unconfiguredFeatureReferences.addAll(Arrays.asList(configPolicy.getUnconfiguredFeaturesModel()));
- }
-
-
-
- /**
- * @since 2.0
- */
- public int getPolicy() {
- return policy;
- }
-
- /**
- * Sets the policy.
- * @param policy The policy to set
- */
- public void setPolicy(int policy) {
- assertIsWriteable();
- this.policy = policy;
- }
-
- /**
- * @since 2.0
- */
- public FeatureReferenceModel[] getConfiguredFeaturesModel() {
- if (configuredFeatureReferences==null || configuredFeatureReferences.isEmpty())
- return new FeatureReferenceModel[0];
- return (FeatureReferenceModel[]) configuredFeatureReferences.toArray(arrayTypeFor(configuredFeatureReferences));
- }
-
- /**
- * @since 2.0
- */
- public FeatureReferenceModel[] getUnconfiguredFeaturesModel() {
- if (unconfiguredFeatureReferences==null || unconfiguredFeatureReferences.isEmpty())
- return new FeatureReferenceModel[0];
- return (FeatureReferenceModel[]) unconfiguredFeatureReferences.toArray(arrayTypeFor(unconfiguredFeatureReferences));
- }
-
- /**
- * @since 2.0
- */
- public boolean isConfigured(FeatureReferenceModel feature) {
- boolean result = false;
- // return true if the feature is part of the configured list
- Iterator iter = configuredFeatureReferences.iterator();
- String featureURLString = feature.getURL().toExternalForm();
- while (iter.hasNext() && !result) {
- FeatureReferenceModel element = (FeatureReferenceModel) iter.next();
- if (element.getURL().toExternalForm().trim().equalsIgnoreCase(featureURLString)) {
- result = true;
- }
- }
- return result;
- }
-
-
- /**
- *
- */
- private void remove(FeatureReferenceModel feature, List list) {
- String featureURLString = feature.getURL().toExternalForm();
- boolean found = false;
- Iterator iter = list.iterator();
- while (iter.hasNext() && !found) {
- FeatureReferenceModel element = (FeatureReferenceModel) iter.next();
- if (element.getURL().toExternalForm().trim().equalsIgnoreCase(featureURLString)) {
- list.remove(element);
- found = true;
- }
- }
- }
-
- /**
- * returns an array of string corresponding to plugins file
- */
- /*package*/
-
-
- /**
- *
- */
- private void add(FeatureReferenceModel feature, List list) {
- String featureURLString = feature.getURL().toExternalForm();
- boolean found = false;
- Iterator iter = list.iterator();
- while (iter.hasNext() && !found) {
- FeatureReferenceModel element = (FeatureReferenceModel) iter.next();
- if (element.getURL().toExternalForm().trim().equalsIgnoreCase(featureURLString)) {
- found = true;
- }
- }
-
- if (!found) {
- list.add(feature);
- }
- }
-
- /**
- * adds a feature in the configuredReference list
- * also used by the parser to avoid creating another activity
- */
- public void addConfiguredFeatureReference(FeatureReferenceModel feature) {
- assertIsWriteable();
-
- if (configuredFeatureReferences == null)
- this.configuredFeatureReferences = new ArrayList();
- if (!configuredFeatureReferences.contains(feature))
- this.add(feature, configuredFeatureReferences);
-
- // 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 a feature in teh list
- * also used by the parser to avoid creating another activity
- */
- public void addUnconfiguredFeatureReference(FeatureReferenceModel feature) {
- assertIsWriteable();
- if (unconfiguredFeatureReferences == null)
- this.unconfiguredFeatureReferences = new ArrayList();
- if (!unconfiguredFeatureReferences.contains(feature))
- this.add(feature, unconfiguredFeatureReferences);
-
- // an unconfigured feature is always from a configured one no ?
- // unless it was parsed right ?
- if (configuredFeatureReferences != null) {
- remove(feature, configuredFeatureReferences);
- }
- }
-
- /**
- * removes a feature from any list
- */
- public void removeFeatureReference(FeatureReferenceModel feature) {
- assertIsWriteable();
- if (unconfiguredFeatureReferences!=null)
- remove(feature, unconfiguredFeatureReferences);
-
- if (configuredFeatureReferences != null) {
- remove(feature, configuredFeatureReferences);
- }
- }
-
-
- /**
- * Sets the configuredFeatureReferences.
- * @param configuredFeatureReferences The configuredFeatureReferences to set
- */
- protected void setConfiguredFeatureReferences(IFeatureReference[] featureReferences) {
- configuredFeatureReferences = new ArrayList();
- configuredFeatureReferences.addAll(Arrays.asList(featureReferences));
-
- }
-
-
- /**
- * Sets the unconfiguredFeatureReferences.
- * @param unconfiguredFeatureReferences The unconfiguredFeatureReferences to set
- */
- protected void setUnconfiguredFeatureReferences(IFeatureReference[] featureReferences) {
- unconfiguredFeatureReferences = new ArrayList();
- unconfiguredFeatureReferences.addAll(Arrays.asList(featureReferences));
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfiguredSiteModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfiguredSiteModel.java
deleted file mode 100644
index dedc989..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/ConfiguredSiteModel.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package org.eclipse.update.internal.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.PrintWriter;
-import java.util.Date;
-
-import java.util.*;
-
-import org.eclipse.core.boot.IPlatformConfiguration;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.IFeatureReference;
-import org.eclipse.update.core.model.*;
-
-/**
- *
- */
-public class ConfiguredSiteModel extends ModelObject {
- private String[] previousPluginPath;
-
- private SiteModel site;
- private String platformURLString;
- private ConfigurationPolicyModel policy;
- private InstallConfigurationModel installConfiguration;
- private boolean installable = false;
-
- /**
- * Constructor
- */
- public ConfiguredSiteModel() {
- super();
- }
-
- /**
- * returns the site
- * @return The ISite
- * @since 2.0
- */
- public SiteModel getSiteModel() {
- return site;
- }
-
- /**
- * Sets the site.
- * @param site The site to set
- */
- public void setSiteModel(SiteModel site) {
- assertIsWriteable();
- this.site = site;
- }
-
- /**
- * returns the policy
- */
- public ConfigurationPolicyModel getConfigurationPolicyModel() {
- return policy;
- }
-
- /**
- *
- * @since 2.0
- */
- public void setConfigurationPolicyModel(ConfigurationPolicyModel policy) {
- assertIsWriteable();
- this.policy = policy;
- }
-
- /**
- * @since
- */
- public boolean isUpdateable() {
- return installable;
- }
-
- /**
- * @since 2.0
- */
- public void isUpdateable(boolean installable) {
- assertIsWriteable();
- this.installable = installable;
- }
-
- /**
- * Gets the installConfiguration.
- * @return Returns a InstallConfigurationModel
- */
- public InstallConfigurationModel getInstallConfigurationModel() {
- return installConfiguration;
- }
-
- /**
- * Sets the installConfiguration.
- * @param installConfiguration The installConfiguration to set
- */
- public void setInstallConfigurationModel(InstallConfigurationModel installConfiguration) {
- assertIsWriteable();
- this.installConfiguration = installConfiguration;
- }
-
- /**
- * Gets the platformURLString.
- * @return Returns a String
- */
- public String getPlatformURLString() {
- return platformURLString;
- }
-
- /**
- * Sets the platformURLString.
- * @param platformURLString The platformURLString to set
- */
- public void setPlatformURLString(String platformURLString) {
- this.platformURLString = platformURLString;
- }
-
-
- /**
- * Gets the previousPluginPath. The list of plugins the platform had.
- * @return Returns a String[]
- */
- public String[] getPreviousPluginPath() {
- if (previousPluginPath == null)
- previousPluginPath = new String[0];
- return previousPluginPath;
- }
-
- /**
- * Sets the previousPluginPath.
- * @param previousPluginPath The previousPluginPath to set
- */
- public void setPreviousPluginPath(String[] previousPluginPath) {
- this.previousPluginPath = new String[previousPluginPath.length];
- System.arraycopy(previousPluginPath, 0, this.previousPluginPath, 0, previousPluginPath.length);
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/DefaultPluginParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/DefaultPluginParser.java
deleted file mode 100644
index 772224d..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/DefaultPluginParser.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.update.internal.model;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.xerces.parsers.SAXParser;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.PluginEntry;
-import org.eclipse.update.core.VersionedIdentifier;
-import org.eclipse.update.internal.core.PluginEntryContentConsumer;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Parse default feature.xml
- */
-
-public class DefaultPluginParser extends DefaultHandler {
-
- private SAXParser parser;
- private String id = null;
- private String version = null;
- private PluginEntry pluginEntry;
-
- private static final String PLUGIN = "plugin"; //$NON-NLS-1$
- private static final String FRAGMENT = "fragment"; //$NON-NLS-1$
- private static final String ID = "id"; //$NON-NLS-1$
- private static final String VERSION = "version"; //$NON-NLS-1$
-
- private class ParseCompleteException extends SAXException {
- public ParseCompleteException(String arg0) {
- super(arg0);
- }
- }
-
- /**
- * Constructor for DefaultFeatureParser
- */
- public DefaultPluginParser() {
- super();
- this.parser = new SAXParser();
- this.parser.setContentHandler(this);
- }
-
- /**
- * @since 2.0
- */
- public synchronized PluginEntry parse(InputStream in) throws SAXException, IOException {
- try {
- pluginEntry = new PluginEntry();
- parser.parse(new InputSource(in));
- } catch (ParseCompleteException e) {
- // expected, we stopped the parsing
- }
-
- pluginEntry.setVersionedIdentifier(new VersionedIdentifier(id, version));
- return pluginEntry;
- }
-
- /**
- * @see DefaultHandler#startElement(String, String, String, Attributes)
- */
- public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-
- String tag = localName.trim();
-
- if (tag.equalsIgnoreCase(PLUGIN)) {
- processPlugin(attributes);
- pluginEntry.isFragment(false);
- return;
- }
-
- if (tag.equalsIgnoreCase(FRAGMENT)) {
- processPlugin(attributes);
- pluginEntry.isFragment(true);
- return;
- }
- }
-
- /**
- * process plugin entry info
- */
- private void processPlugin(Attributes attributes) throws ParseCompleteException {
- id = attributes.getValue("id"); //$NON-NLS-1$
- version = attributes.getValue("version"); //$NON-NLS-1$
- throw new ParseCompleteException(""); //$NON-NLS-1$
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationModel.java
deleted file mode 100644
index a008794..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationModel.java
+++ /dev/null
@@ -1,216 +0,0 @@
-package org.eclipse.update.internal.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.model.ModelObject;
-import org.eclipse.update.internal.core.*;
-import org.xml.sax.SAXException;
-import org.eclipse.update.internal.core.Policy;
-
-/**
- * An InstallConfigurationModel is
- *
- */
-
-public class InstallConfigurationModel extends ModelObject {
- /**
- * initialize the configurations from the persistent model.
- */
- public void initialize() throws CoreException {
- try {
- URL resolvedURL = URLEncoder.encode(getURL());
- new InstallConfigurationParser(resolvedURL.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(getLocationURLString() + " does not exist, The local site is not in synch with the file system and is pointing to a file that doesn't exist."); //$NON-NLS-1$
- }
- this.setLabel(Policy.bind("InstallConfiguration.DeletedConfiguration")); //$NON-NLS-1$
- } catch (SAXException exception) {
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, Policy.bind("InstallConfiguration.ParsingErrorDuringCreation", getLocationURLString(),"\r\n"+exception.toString()), exception); //$NON-NLS-1$ //$NON-NLS-2$
- throw new CoreException(status);
- } catch (IOException exception) {
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.ERROR, id, IStatus.OK, Policy.bind("InstallConfiguration.ErrorDuringFileAccess",getLocationURLString()), exception); //$NON-NLS-1$
- throw new CoreException(status);
- }
- }
-
- private boolean isCurrent;
- private URL locationURL;
- private String locationURLString;
- private Date date;
- private String label;
- private List /* of ConfiguretionActivityModel */activities;
- private List /* of configurationSiteModel */ configurationSites;
-
- /**
- * default constructor. Create
- */
- public InstallConfigurationModel(){
- }
-
- /**
- * @since 2.0
- */
- public ConfiguredSiteModel[] getConfigurationSitesModel() {
- if (configurationSites == null)
- return new ConfiguredSiteModel[0];
-
- return (ConfiguredSiteModel[]) configurationSites.toArray(arrayTypeFor(configurationSites));
- }
-
- /**
- * Adds the configuration to the 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 addConfigurationSiteModel(ConfiguredSiteModel site) {
- if (configurationSites == null) {
- configurationSites = new ArrayList();
- }
- if (!configurationSites.contains(site))
- configurationSites.add(site);
- }
-
-
- public void setConfigurationSiteModel(ConfiguredSiteModel[] sites) {
- configurationSites=null;
- for (int i = 0; i < sites.length; i++) {
- addConfigurationSiteModel(sites[i]);
- }
- }
-
- /**
- * @since 2.0
- */
- public boolean removeConfigurationSiteModel(ConfiguredSiteModel site) {
- if (!isCurrent)
- return false;
-
- if (configurationSites != null) {
- return configurationSites.remove(site);
- }
-
- return false;
- }
-
- /**
- * @since 2.0
- */
- public boolean isCurrent() {
- return isCurrent;
- }
-
- /**
- * @since 2.0
- */
- public void setCurrent(boolean isCurrent) {
- // do not check if writable as we may
- // set an install config as Not current
- this.isCurrent = isCurrent;
- }
-
-
-
- /**
- * @since 2.0
- */
- public ConfigurationActivityModel[] getActivityModel() {
- if (activities==null)
- return new ConfigurationActivityModel[0];
- return (ConfigurationActivityModel[]) activities.toArray(arrayTypeFor(activities));
- }
-
- /**
- * @since 2.0
- */
- public void addActivityModel(ConfigurationActivityModel activity) {
- if (activities == null)
- activities = new ArrayList();
- if (!activities.contains(activity)){
- activities.add(activity);
- activity.setInstallConfigurationModel(this);
- }
- }
- /**
- *
- */
- public Date getCreationDate() {
- return date;
- }
- /**
- * Sets the date.
- * @param date The date to set
- */
- public void setCreationDate(Date date) {
- assertIsWriteable();
- this.date = date;
- }
- /**
- * @since 2.0
- */
- public URL getURL() {
- return locationURL;
- }
-
- /**
- * @since 2.0
- */
- public String getLabel() {
- return label;
- }
-
- /**
- * Sets the label.
- * @param label The label to set
- */
- public void setLabel(String label) {
- assertIsWriteable();
- this.label = label;
- }
-
- /**
- * Gets the locationURLString.
- * @return Returns a String
- */
- public String getLocationURLString() {
- return locationURLString;
- }
-
- /**
- * Sets the locationURLString.
- * @param locationURLString The locationURLString to set
- */
- public void setLocationURLString(String locationURLString) {
- assertIsWriteable();
- this.locationURLString = locationURLString;
- this.locationURL = null;
- }
-
-
- /*
- * @see ModelObject#resolve(URL, ResourceBundle)
- */
- public void resolve(URL base, ResourceBundle bundle)
- throws MalformedURLException {
- // local
- locationURL = resolveURL(base,bundle,locationURLString);
-
- // delagate
- resolveListReference(getActivityModel(),base,bundle);
- resolveListReference(getConfigurationSitesModel(),base,bundle);
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java
deleted file mode 100644
index c1d59bc..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java
+++ /dev/null
@@ -1,253 +0,0 @@
-package org.eclipse.update.internal.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * 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.eclipse.update.core.model.FeatureReferenceModel;
-import org.eclipse.update.core.model.SiteModel;
-import org.eclipse.update.internal.core.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-import org.eclipse.update.internal.core.Policy;
-
-/**
- * parse the default site.xml
- */
-
-public class InstallConfigurationParser extends DefaultHandler {
-
- private SAXParser parser;
- private InputStream siteStream;
- private URL siteURL;
- private InstallConfigurationModel config;
- private ConfiguredSiteModel configSite;
- public static final String CONFIGURATION = "configuration"; //$NON-NLS-1$
- public static final String CONFIGURATION_SITE = "site"; //$NON-NLS-1$
- public static final String FEATURE = "feature"; //$NON-NLS-1$
- public static final String ACTIVITY = "activity"; //$NON-NLS-1$
-
- private ResourceBundle bundle;
-
- /**
- * Constructor for DefaultSiteParser
- */
- public InstallConfigurationParser(InputStream siteStream, InstallConfigurationModel config) throws IOException, SAXException, CoreException {
- super();
- parser = new SAXParser();
- parser.setContentHandler(this);
-
- this.siteStream = siteStream;
- Assert.isTrue(config instanceof InstallConfigurationModel);
- this.config = (InstallConfigurationModel) config;
-
- // DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- UpdateManagerPlugin.getPlugin().debug("Start parsing Configuration:" + (config).getURL().toExternalForm()); //$NON-NLS-1$
- }
-
- 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(SiteLocalModel.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()); //$NON-NLS-1$
- }
- }
- 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); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- 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(Policy.bind("Parser.UnableToCreateURL",e.getMessage()), e); //$NON-NLS-1$
- } catch (CoreException e) {
- throw new SAXException(Policy.bind("Parser.InternalError",e.toString()), e); //$NON-NLS-1$
- }
-
- }
-
- /**
- * process the Site info
- */
- private void processSite(Attributes attributes) throws MalformedURLException, CoreException {
-
- //site url
- String urlString = attributes.getValue("url"); //$NON-NLS-1$
- siteURL = new URL(urlString);
- ISite site = SiteManager.getSite(siteURL);
-
- // policy
- String policyString = attributes.getValue("policy"); //$NON-NLS-1$
- int policy = Integer.parseInt(policyString);
-
- // configuration site
- BaseSiteLocalFactory factory = new BaseSiteLocalFactory();
- configSite =factory.createConfigurationSiteModel((SiteModel)site,policy);
-
- //platform url
- String platformURLString = attributes.getValue("platformURL"); //$NON-NLS-1$
- configSite.setPlatformURLString(platformURLString);
-
- // install
- String installString = attributes.getValue("install"); //$NON-NLS-1$
- boolean installable = installString.trim().equalsIgnoreCase("true") ? true : false; //$NON-NLS-1$
- configSite.isUpdateable(installable);
-
- // add to install configuration
- config.addConfigurationSiteModel(configSite);
-
- // DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- UpdateManagerPlugin.getPlugin().debug("End process config site url:" + urlString + " policy:" + policyString + " install:" + installString); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- }
-
- /**
- * process the DefaultFeature info
- */
- private void processFeature(Attributes attributes) throws MalformedURLException, CoreException {
-
- // url
- String path = attributes.getValue("url"); //$NON-NLS-1$
- URL url = UpdateManagerUtils.getURL(siteURL, path, null);
-
- // configured ?
- String configuredString = attributes.getValue("configured"); //$NON-NLS-1$
- boolean configured = configuredString.trim().equalsIgnoreCase("true")?true:false; //$NON-NLS-1$
-
- if (url != null) {
- FeatureReference ref = new FeatureReference();
- ref.setSite((ISite)configSite.getSiteModel());
- ref.setURL(url);
- if (ref != null)
- if (configured){
- (configSite.getConfigurationPolicyModel()).addConfiguredFeatureReference((FeatureReferenceModel)ref);
- }
- else
- (configSite.getConfigurationPolicyModel()).addUnconfiguredFeatureReference((FeatureReferenceModel)ref);
-
- //updateURL
- String updateURLString = attributes.getValue("updateURL"); //$NON-NLS-1$
- URLEntry entry = new URLEntry();
- entry.setURLString(updateURLString);
- entry.resolve(siteURL,null);
-
- // DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- UpdateManagerPlugin.getPlugin().debug("End Processing DefaultFeature Tag: url:" + url.toExternalForm()); //$NON-NLS-1$
- }
-
- } else {
- String id = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier();
- IStatus status = new Status(IStatus.WARNING, id, IStatus.OK, Policy.bind("InstallConfigurationParser.FeatureReferenceNoURL"), null); //$NON-NLS-1$
- UpdateManagerPlugin.getPlugin().getLog().log(status);
- }
-
- }
-
- /**
- * process the Activity info
- */
- private void processActivity(Attributes attributes) {
-
- // action
- String actionString = attributes.getValue("action"); //$NON-NLS-1$
- int action = Integer.parseInt(actionString);
-
- // create
- ConfigurationActivityModel activity = new BaseSiteLocalFactory().createConfigurationAcivityModel();
- activity.setAction(action);
-
- // label
- String label = attributes.getValue("label"); //$NON-NLS-1$
- if (label != null)
- activity.setLabel(label);
-
- // date
- String dateString = attributes.getValue("date"); //$NON-NLS-1$
- Date date = new Date(Long.parseLong(dateString));
- activity.setDate(date);
-
- // status
- String statusString = attributes.getValue("status"); //$NON-NLS-1$
- int status = Integer.parseInt(statusString);
- activity.setStatus(status);
-
- config.addActivityModel(activity);
-
- // DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- UpdateManagerPlugin.getPlugin().debug("End Processing Activity: action:" + actionString + " label: " + label + " date:" + dateString + " status" + statusString); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
-
- }
-
- /**
- * process the Config info
- */
- private void processConfig(Attributes attributes) {
-
- // date
- long date = Long.parseLong(attributes.getValue("date")); //$NON-NLS-1$
- config.setCreationDate(new Date(date));
-
- // DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- UpdateManagerPlugin.getPlugin().debug("End Processing Config Tag: date:" + date); //$NON-NLS-1$
- }
-
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/SiteLocalModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/SiteLocalModel.java
deleted file mode 100644
index 382522b..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/SiteLocalModel.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package org.eclipse.update.internal.model;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.boot.IPlatformConfiguration;
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.ModelObject;
-import org.eclipse.update.internal.model.*;
-import org.xml.sax.SAXException;
-
-/**
- * This class manages the configurations.
- */
-
-public class SiteLocalModel extends ModelObject {
-
-
- public static final String SITE_LOCAL_FILE = "LocalSite.xml"; //$NON-NLS-1$
- public static final String DEFAULT_CONFIG_FILE = "Config.xml"; //$NON-NLS-1$
- public static final String DEFAULT_PRESERVED_CONFIG_FILE = "PreservedConfig.xml"; //$NON-NLS-1$
- public static final int DEFAULT_HISTORY = 5;
-
-
- private long stamp;
- private String label;
- private URL location;
- private String locationURLString;
- private int history = DEFAULT_HISTORY;
- private List /* of InstallConfigurationModel */configurations;
- private List /* of InstallConfigurationModel */preservedConfigurations;
- private InstallConfigurationModel currentConfiguration;
-
- /**
- * Constructor for LocalSite
- */
- public SiteLocalModel(){
- super();
- }
-
- /**
- * @since 2.0
- */
- public InstallConfigurationModel getCurrentConfigurationModel() {
- return currentConfiguration;
- }
-
- /**
- * @since 2.0
- */
- public InstallConfigurationModel[] getConfigurationHistoryModel() {
- if (configurations==null) return new InstallConfigurationModel[0];
- return (InstallConfigurationModel[])configurations.toArray(arrayTypeFor(configurations));
- }
-
- /**
- * adds a new configuration to the LocalSite
- * the newly added configuration is teh current one
- */
- public void addConfigurationModel(InstallConfigurationModel config) {
- if (config != null) {
- if (configurations == null)
- configurations = new ArrayList();
- if (!configurations.contains(config))
- configurations.add(config);
- }
- }
-
- /**
- * adds a new configuration to the LocalSite
- * the newly added configuration is teh current one
- */
- public boolean removeConfigurationModel(InstallConfigurationModel config) {
- if (config != null) {
- return configurations.remove(config);
- }
- return false;
- }
- /**
- * Gets the location of the local site.
- * @return Returns a URL
- */
- public URL getLocationURL() {
- return location;
- }
-
- /**
- * Gets the locationURLString.
- * @return Returns a String
- */
- public String getLocationURLString() {
- return locationURLString;
- }
-
-
- /**
- * Sets the locationURLString.
- * @param locationURLString The locationURLString to set
- */
- public void setLocationURLString(String locationURLString) {
- assertIsWriteable();
- this.locationURLString = locationURLString;
- this.location=null;
- }
-
-
- /**
- * @since 2.0
- */
- public String getLabel() {
- return label;
- }
-
- /**
- * Sets the label.
- * @param label The label to set
- */
- public void setLabel(String label) {
- assertIsWriteable();
- this.label = label;
- }
-
-
- /**
- * @since 2.0
- */
- public int getMaximumHistoryCount() {
- return history;
- }
-
- /**
- * @since 2.0
- */
- public void setMaximumHistoryCount(int history) {
- assertIsWriteable();
- this.history = history;
- }
-
-
- /**
- * Adds a preserved configuration into teh collection
- * do not save the configuration
- * @since 2.0
- */
- public void addPreservedInstallConfigurationModel(InstallConfigurationModel configuration) {
- if (preservedConfigurations == null)
- preservedConfigurations = new ArrayList();
-
- preservedConfigurations.add(configuration);
- }
-
- /**
- * @since 2.0
- */
- public boolean removePreservedConfigurationModel(InstallConfigurationModel configuration) {
- if (preservedConfigurations != null) {
- return preservedConfigurations.remove(configuration);
- }
- return false;
- }
-
- /**
- * @since 2.0
- */
- public InstallConfigurationModel[] getPreservedConfigurationsModel() {
- if (preservedConfigurations==null || preservedConfigurations.isEmpty())
- return new InstallConfigurationModel[0];
- return (InstallConfigurationModel[])preservedConfigurations.toArray(arrayTypeFor(preservedConfigurations));
- }
-
-
- /**
- * Sets the currentConfiguration.
- * @param currentConfiguration The currentConfiguration to set
- */
- public void setCurrentConfigurationModel(InstallConfigurationModel currentConfiguration) {
- assertIsWriteable();
- this.currentConfiguration = currentConfiguration;
- }
-
- /*
- * @see ModelObject#resolve(URL, ResourceBundle)
- */
- public void resolve(URL base, ResourceBundle bundle) throws MalformedURLException {
- // local
- location = resolveURL(base,bundle,getLocationURLString());
-
- // delegate
- resolveListReference(getConfigurationHistoryModel(),base,bundle);
- resolveListReference(getPreservedConfigurationsModel(),base,bundle);
- resolveReference(getCurrentConfigurationModel(),base,bundle);
- }
-
-
- /**
- * Gets the stamp.
- * @return Returns a long
- */
- public long getStamp() {
- return stamp;
- }
-
- /**
- * Sets the stamp.
- * @param stamp The stamp to set
- */
- public void setStamp(long stamp) {
- this.stamp = stamp;
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/SiteLocalParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/SiteLocalParser.java
deleted file mode 100644
index 076e102..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/SiteLocalParser.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package org.eclipse.update.internal.model;
-/*
- * (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.CoreException;
-import org.eclipse.update.configuration.ILocalSite;
-import org.eclipse.update.core.IFeatureReference;
-import org.eclipse.update.internal.core.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * parse the default site.xml
- */
-
-public class SiteLocalParser extends DefaultHandler {
-
- private SAXParser parser;
- private InputStream siteStream;
- private SiteLocalModel site;
- private String text;
- public static final String SITE = "localsite"; //$NON-NLS-1$
- public static final String CONFIG = "config"; //$NON-NLS-1$
- public static final String PRESERVED_CONFIGURATIONS = "preservedConfigurations"; //$NON-NLS-1$
-
- private ResourceBundle bundle;
-
- private IFeatureReference feature;
-
- // trus if we are now parsing preserved config
- private boolean preserved = false;
-
- /**
- * 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 SiteLocalModel);
- this.site = (SiteLocalModel) site;
-
- // DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- UpdateManagerPlugin.getPlugin().debug("Start parsing localsite:" + ((SiteLocalModel) site).getLocationURLString()); //$NON-NLS-1$
- }
-
- bundle = getResourceBundle();
-
- parser.parse(new InputSource(this.siteStream));
- }
-
- /**
- * return the appropriate resource bundle for this sitelocal
- */
- private ResourceBundle getResourceBundle() throws CoreException {
- ResourceBundle bundle = null;
- try {
- ClassLoader l = new URLClassLoader(new URL[] { site.getLocationURL()}, null);
- bundle = ResourceBundle.getBundle(SiteLocalModel.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.getLocationURLString()); //$NON-NLS-1$
- }
- }
- 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); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- try {
-
- String tag = localName.trim();
-
- if (tag.equalsIgnoreCase(SITE)) {
- processSite(attributes);
- return;
- }
-
- if (tag.equalsIgnoreCase(CONFIG)) {
- processConfig(attributes);
- return;
- }
-
- if (tag.equalsIgnoreCase(PRESERVED_CONFIGURATIONS)) {
- preserved = true;
- return;
- }
-
- } catch (MalformedURLException e) {
- throw new SAXException(Policy.bind("Parser.UnableToCreateURL",e.getMessage()), e); //$NON-NLS-1$
- } catch (CoreException e) {
- throw new SAXException(Policy.bind("Parser.InternalError",e.toString()), e); //$NON-NLS-1$
- }
-
- }
-
- /**
- * process the Site info
- */
- private void processSite(Attributes attributes) throws MalformedURLException {
- //
- String info = attributes.getValue("label"); //$NON-NLS-1$
- info = UpdateManagerUtils.getResourceString(info, bundle);
- site.setLabel(info);
-
- // history
- String historyString = attributes.getValue("history"); //$NON-NLS-1$
- int history;
- if (historyString == null || historyString.equals("")) { //$NON-NLS-1$
- history = SiteLocalModel.DEFAULT_HISTORY;
- } else {
- history = Integer.parseInt(historyString);
- }
- site.setMaximumHistoryCount(history);
-
- //stamp
- String stampString = attributes.getValue("stamp"); //$NON-NLS-1$
- long stamp = Long.parseLong(stampString);
- site.setStamp(stamp);
-
-
- // DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- UpdateManagerPlugin.getPlugin().debug("End process Site label:" + info); //$NON-NLS-1$
- }
-
- }
-
- /**
- * process the Config info
- */
- private void processConfig(Attributes attributes) throws MalformedURLException, CoreException {
- // url
- URL url = UpdateManagerUtils.getURL(site.getLocationURL(), attributes.getValue("url"), null); //$NON-NLS-1$
- String label = attributes.getValue("label"); //$NON-NLS-1$
- label = UpdateManagerUtils.getResourceString(label, bundle);
- InstallConfigurationModel config = new BaseSiteLocalFactory().createInstallConfigurationModel();
- config.setLocationURLString(url.toExternalForm());
- config.setLabel(label);
- config.resolve(url,getResourceBundle());
- config.initialize();
- // add the config
- if (preserved) {
- site.addPreservedInstallConfigurationModel(config);
- } else {
- site.addConfigurationModel(config);
- }
- // DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- UpdateManagerPlugin.getPlugin().debug("End Processing Config Tag: url:" + url.toExternalForm()); //$NON-NLS-1$
- }
- }
-
- /*
- * @see ContentHandler#endElement(String, String, String)
- */
- public void endElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- // DEBUG:
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_PARSING) {
- UpdateManagerPlugin.getPlugin().debug("End Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- String tag = localName.trim();
-
- if (tag.equalsIgnoreCase(PRESERVED_CONFIGURATIONS)) {
- preserved = false;
- return;
- }
-
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/CertificatePair.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/CertificatePair.java
deleted file mode 100644
index f81b249..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/CertificatePair.java
+++ /dev/null
@@ -1,67 +0,0 @@
-
-package org.eclipse.update.internal.security;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
- import java.security.cert.Certificate;
-
-/**
- *
- */
-public class CertificatePair {
- private Certificate root;
- private Certificate issuer;
-
-
-
- /**
- * Gets the root.
- * @return Returns a Certificate
- */
- public Certificate getRoot() {
- return root;
- }
-
- /**
- * Sets the root.
- * @param root The root to set
- */
- public void setRoot(Certificate root) {
- this.root = root;
- }
-
- /**
- * Gets the issuer.
- * @return Returns a Certificate
- */
- public Certificate getIssuer() {
- return issuer;
- }
-
- /**
- * Sets the issuer.
- * @param issuer The issuer to set
- */
- public void setIssuer(Certificate issuer) {
- this.issuer = issuer;
- }
-
- /*
- * @see Object#equals(Object)
- */
- public boolean equals(Object obj) {
-
- if (obj==null) return false;
-
- if (!(obj instanceof CertificatePair)) return false;
-
- if (root==null || issuer==null) return false;
-
- CertificatePair pair = (CertificatePair)obj;
-
- return (root.equals(pair.getRoot()) && issuer.equals(pair.getIssuer()));
- }
-
-}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/JarVerificationResult.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/JarVerificationResult.java
deleted file mode 100644
index 8b5e802..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/JarVerificationResult.java
+++ /dev/null
@@ -1,316 +0,0 @@
-package org.eclipse.update.internal.security;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.security.Principal;
-import java.security.cert.*;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.Policy;
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-import sun.security.x509.X500Name;
-
-/**
- * Result of the service
- */
-public class JarVerificationResult implements IVerificationResult {
-
-
- private int resultCode;
- private int verificationCode;
- private Exception resultException;
- private List /*of Certificates[] */
- certificates;
- private CertificatePair[] rootCertificates;
- private CertificatePair foundCertificate; // certificate found in one keystore
-
- private String signerInfo;
- private String verifierInfo;
- private ContentReference contentReference;
- private String text;
- private IFeature feature;
- private boolean featureVerification;
-
- /**
- */
- public int getResultCode() {
- return resultCode;
- }
- /**
- */
- public Exception getVerificationException() {
- return resultException;
- }
- /**
- */
- public void setResultCode(int newResultCode) {
- resultCode = newResultCode;
- }
- /**
- *
- */
- public void setResultException(Exception newResultException) {
- resultException = newResultException;
- }
- /**
- * Gets the verificationCode.
- * @return Returns a int
- */
- public int getVerificationCode() {
- return verificationCode;
- }
-
- /**
- * Sets the verificationCode.
- * @param verificationCode The verificationCode to set
- */
- public void setVerificationCode(int verificationCode) {
- this.verificationCode = verificationCode;
- }
-
- /**
- * adds an array of Certificates
- */
- public void addCertificates(Certificate[] certs) {
- if (certificates == null)
- certificates = new ArrayList();
- certificates.add(certs);
- rootCertificates = null;
- }
-
- /**
- * Gets the certificates.
- * @return Returns a List
- */
- private List getCertificates() {
- return certificates;
- }
-
- /**
- * Assume certifcates are x.509
- */
- public CertificatePair[] getRootCertificates() {
- if (rootCertificates == null) {
- rootCertificates = new CertificatePair[0];
- List rootCertificatesList = new ArrayList();
- if (certificates != null && certificates.size() > 0) {
- Iterator iter = certificates.iterator();
- while (iter.hasNext()) {
-
- Certificate[] certs = (Certificate[]) iter.next();
- if (certs != null && certs.length > 0) {
-
- CertificatePair pair = new CertificatePair();
- pair.setIssuer(certs[0]);
-
- for (int i = 0; i < certs.length - 1; i++) {
- X509Certificate x509certRoot = (X509Certificate) certs[i];
- X509Certificate x509certIssuer = (X509Certificate) certs[i+1];
- if (!x509certRoot.getIssuerDN().equals(x509certIssuer.getSubjectDN())) {
- pair.setRoot(x509certRoot);
- if (!rootCertificatesList.contains(pair)) {
- rootCertificatesList.add(pair);
- }
- pair = new CertificatePair();
- pair.setIssuer(x509certIssuer);
- }
- }
-
- // add the latest one
- if (pair != null) {
- pair.setRoot(certs[certs.length - 1]);
- if (!rootCertificatesList.contains(pair)) {
- rootCertificatesList.add(pair);
- }
- }
- }
- }
-
- }
-
- if (rootCertificatesList.size() > 0) {
- rootCertificates = new CertificatePair[rootCertificatesList.size()];
- rootCertificatesList.toArray(rootCertificates);
- }
- }
- return rootCertificates;
- }
-
- /**
- * Gets the foundCertificate.
- * @return Returns a Certificate
- */
- private CertificatePair getFoundCertificate() {
- return foundCertificate;
- }
-
- /**
- * Sets the foundCertificate.
- * @param foundCertificate The foundCertificate to set
- */
- public void setFoundCertificate(CertificatePair foundCertificate) {
- this.foundCertificate = foundCertificate;
- }
-
-
- private void initializeCertificates(){
- X509Certificate certRoot = null;
- X509Certificate certIssuer = null;
- CertificatePair trustedCertificate;
- if (getFoundCertificate() == null) {
- CertificatePair[] certs = getRootCertificates();
- if (certs.length == 0)
- return;
- trustedCertificate = (CertificatePair) certs[0];
- } else {
- trustedCertificate = (CertificatePair) getFoundCertificate();
- }
- certRoot = (X509Certificate) trustedCertificate.getRoot();
- certIssuer = (X509Certificate) trustedCertificate.getIssuer();
-
- StringBuffer strb = new StringBuffer();
- strb.append(Policy.bind("JarVerificationResult.SubjectCA")); //$NON-NLS-1$
- strb.append("\r\n"); //$NON-NLS-1$
- strb.append(Policy.bind("JarVerificationResult.CAIssuer", issuerString(certIssuer.getSubjectDN()))); //$NON-NLS-1$
- strb.append("\r\n"); //$NON-NLS-1$
- strb.append(Policy.bind("JarVerificationResult.ValidBetween", dateString(certIssuer.getNotBefore()), dateString(certIssuer.getNotAfter()))); //$NON-NLS-1$
- strb.append(checkValidity(certIssuer));
- signerInfo = strb.toString();
- if (certIssuer != null && !certIssuer.equals(certRoot)) {
- strb = new StringBuffer();
- strb.append(Policy.bind("JarVerificationResult.RootCA")); //$NON-NLS-1$
- strb.append("\r\n"); //$NON-NLS-1$
- strb.append(Policy.bind("JarVerificationResult.CAIssuer", issuerString(certIssuer.getIssuerDN()))); //$NON-NLS-1$
- strb.append("\r\n"); //$NON-NLS-1$
- strb.append(Policy.bind("JarVerificationResult.ValidBetween", dateString(certRoot.getNotBefore()), dateString(certRoot.getNotAfter()))); //$NON-NLS-1$
- strb.append(checkValidity(certRoot));
- verifierInfo = strb.toString();
- }
-
- }
-
- private String checkValidity(X509Certificate cert) {
-
- try {
- cert.checkValidity();
- } catch (CertificateExpiredException e) {
- return ("\r\n" + Policy.bind("JarVerificationResult.ExpiredCertificate")); //$NON-NLS-1$
- } catch (CertificateNotYetValidException e) {
- return ("\r\n" + Policy.bind("JarVerificationResult.CertificateNotYetValid")); //$NON-NLS-1$
- }
- return ("\r\n" + Policy.bind("JarVerificationResult.CertificateValid")); //$NON-NLS-1$
- }
-
- /**
- *
- */
- private String issuerString(Principal principal) {
- try {
- if (principal instanceof X500Name) {
- String issuerString = "";
- X500Name name = (X500Name) principal;
- issuerString += (name.getDNQualifier() != null) ? name.getDNQualifier() + ", " : "";
- issuerString += name.getCommonName();
- issuerString += (name.getOrganizationalUnit() != null) ? ", " + name.getOrganizationalUnit() : "";
- issuerString += (name.getOrganization() != null) ? ", " + name.getOrganization() : "";
- issuerString += (name.getLocality() != null) ? ", " + name.getLocality() : "";
- issuerString += (name.getCountry() != null) ? ", " + name.getCountry() : "";
- return issuerString;
- }
- } catch (Exception e) {
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS){
- IStatus status = Utilities.newCoreException("Error parsing X500 Certificate",e).getStatus();
- UpdateManagerPlugin.getPlugin().getLog().log(status);
- }
- }
- return principal.toString();
- }
-
- /**
- *
- */
- private String dateString(Date date) {
- SimpleDateFormat formatter = new SimpleDateFormat("EEE, MMM d, yyyyy");
- return formatter.format(date);
- }
-
- /*
- * @see IVerificationResult#getSignerInfo()
- */
- public String getSignerInfo() {
- if (signerInfo==null) initializeCertificates();
- return signerInfo;
- }
-
- /*
- * @see IVerificationResult#getVerifierInfo()
- */
- public String getVerifierInfo() {
- if (signerInfo==null) initializeCertificates();
- return verifierInfo;
- }
-
- /*
- * @see IVerificationResult#getContentReference()
- */
- public ContentReference getContentReference() {
- return contentReference;
- }
-
- /*
- * @see IVerificationResult#getFeature()
- */
- public IFeature getFeature() {
- return feature;
- }
-
- /**
- *
- */
- public void setText(String text) {
- this.text = text;
- }
-
- /**
- *
- */
- public void setContentReference(ContentReference ref) {
- this.contentReference = ref;
- }
-
- /**
- *
- */
- public void setFeature(IFeature feature) {
- this.feature = feature;
- }
-
- /*
- * @see IVerificationResult#getText()
- */
- public String getText() {
- return null;
- }
-
- /**
- * Sets the featureVerification.
- * @param featureVerification The featureVerification to set
- */
- public void isFeatureVerification(boolean featureVerification) {
- this.featureVerification = featureVerification;
- }
-
- /**
- * Gets the featureVerification.
- * @return Returns a boolean
- */
- public boolean isFeatureVerification() {
- return featureVerification;
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/JarVerifier.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/JarVerifier.java
deleted file mode 100644
index 6f9ec9b..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/JarVerifier.java
+++ /dev/null
@@ -1,421 +0,0 @@
-package org.eclipse.update.internal.security;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.security.*;
-import java.security.cert.Certificate;
-import java.security.cert.CertificateException;
-import java.util.*;
-import java.util.jar.*;
-
-import org.apache.xerces.utils.regex.REUtil;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.IVerifier;
-import org.eclipse.update.internal.core.Policy;
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-
-/**
- * The JarVerifier will check the integrity of the JAR.
- * If the Jar is signed and the integrity is validated,
- * it will check if one of the certificate of each file
- * is in one of the keystore.
- *
- */
-
-public class JarVerifier implements IVerifier {
-
- private JarVerificationResult result;
- private List /*of CertificatePair*/
- trustedCertificates = null;
- private boolean acceptUnsignedFiles = false;
-
- private static final String MANIFEST = "META-INF"; //$NON-NLS-1$
-
- /**
- * List of initialized keystores
- */
- private List /* of KeyStore */
- listOfKeystores;
-
- /**
- * Number of files in the JarFile
- */
- private int entries;
-
- /**
- * ProgressMonitor during integrity validation
- */
- private IProgressMonitor monitor;
-
- /**
- * JAR File Name: used in the readJarFile.
- */
- private String jarFileName;
-
- //RESULT VALUES
-
- /**
- * Default Constructor
- */
- public JarVerifier() {
- }
- /**
- *
- */
- public JarVerifier(IProgressMonitor monitor) {
- this.monitor = monitor;
- }
- /**
- * Returns the list of the keystores.
- *
- */
- private List getKeyStores() throws CoreException {
- if (listOfKeystores == null) {
- listOfKeystores = new ArrayList(0);
- KeyStores listOfKeystoreHandles = new KeyStores();
- InputStream in = null;
- KeyStore keystore = null;
- KeystoreHandle handle = null;
- while (listOfKeystoreHandles.hasNext()) {
- try {
- handle = listOfKeystoreHandles.next();
- in = handle.getLocation().openStream();
- try {
- keystore = KeyStore.getInstance(handle.getType());
- keystore.load(in, null); // no password
- } catch (NoSuchAlgorithmException e) {
- throw Utilities.newCoreException(Policy.bind("JarVerifier.UnableToFindEncryption", handle.getLocation().toExternalForm()), e); //$NON-NLS-1$
- } catch (CertificateException e) {
- throw Utilities.newCoreException(Policy.bind("JarVerifier.UnableToLoadCertificate", handle.getLocation().toExternalForm()), e); //$NON-NLS-1$
- } catch (KeyStoreException e) {
- throw Utilities.newCoreException(Policy.bind("JarVerifier.UnableToFindProviderForKeystore", handle.getType()), e); //$NON-NLS-1$
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- } // nothing
- }
- } // try loading a keyStore
-
- // keystore was loaded
- listOfKeystores.add(keystore);
- } catch (IOException e) {
- // nothing... if the keystore doesn't exist, continue
- }
-
- } // while all key stores
-
- }
-
- return listOfKeystores;
- }
-
- /**
- * initialize instance variables
- */
- private void initializeVariables(File jarFile, IFeature feature, ContentReference contentRef) throws IOException {
- // initialize verification result
- initializeResult(feature, contentRef);
-
- // # of entries
- JarFile jar = new JarFile(jarFile);
- entries = jar.size();
- try {
- jar.close();
- } catch (IOException ex) {
- // unchecked
- }
- jarFileName = jarFile.getName();
- }
- /**
- * initialize verification result
- */
- private void initializeResult(IFeature feature, ContentReference contentRef) {
- result = new JarVerificationResult();
- result.setVerificationCode(IVerificationResult.UNKNOWN_ERROR);
- result.setResultException(null);
- result.setFeature(feature);
- result.setContentReference(contentRef);
- }
- /**
- * Returns true if one of the certificate exists in the keystore
- */
- private boolean existsInKeystore(Certificate cert) throws CoreException {
- try {
- List keyStores = getKeyStores();
- if (!keyStores.isEmpty()) {
- Iterator listOfKeystores = keyStores.iterator();
- while (listOfKeystores.hasNext()) {
- KeyStore keystore = (KeyStore) listOfKeystores.next();
-
- if (keystore.getCertificateAlias(cert) != null) {
- return true;
- }
- }
- }
- } catch (KeyStoreException e) {
- throw Utilities.newCoreException(Policy.bind("JarVerifier.KeyStoreNotLoaded"), e); //$NON-NLS-1$
- }
- return false;
- }
-
- /**
- * Throws exception or set the resultcode to UNKNOWN_ERROR
- */
- private List readJarFile(JarFile jarFile) throws IOException, InterruptedException {
- List list = new ArrayList();
- byte[] buffer = new byte[4096];
- Enumeration entries = jarFile.entries();
- JarEntry currentEntry = null;
- InputStream in = null;
- if (monitor != null)
- monitor.setTaskName(Policy.bind("JarVerifier.Verify", jarFile.getName())); //$NON-NLS-1$
-
- try {
- while (entries.hasMoreElements()) {
- currentEntry = (JarEntry) entries.nextElement();
- list.add(currentEntry);
- in = jarFile.getInputStream(currentEntry);
- while ((in.read(buffer, 0, buffer.length)) != -1) {
- // Security error thrown if tempered
- }
- in.close();
- }
- } catch (IOException e) {
- result.setVerificationCode(IVerificationResult.UNKNOWN_ERROR);
- result.setResultException(e);
- }
-
- return list;
- }
- /**
- *
- * @param newMonitor org.eclipse.core.runtime.IProgressMonitor
- */
- public void setMonitor(IProgressMonitor newMonitor) {
- monitor = newMonitor;
- }
-
- /*
- * @see IVerifier#verify(IFeature,ContentReference,boolean, InstallMonitor)
- */
- public IVerificationResult verify(IFeature feature, ContentReference reference,boolean isFeatureVerification, InstallMonitor monitor) throws CoreException {
- if (reference == null )
- return result;
-
- setMonitor(monitor);
- if (reference instanceof JarContentReference) {
- JarContentReference jarReference = (JarContentReference) reference;
- try {
- File jarFile = jarReference.asFile();
- initializeVariables(jarFile, feature, reference);
- result = verify(jarFile.getAbsolutePath());
- } catch (IOException e){
- throw Utilities.newCoreException(Policy.bind("JarVerifier.UnableToAccessJar",jarReference.toString()),e); //$NON-NLS-1$
- }
- } else{
- initializeResult(feature, reference);
- result.setVerificationCode(IVerificationResult.TYPE_ENTRY_UNRECOGNIZED);
- }
-
- result.isFeatureVerification(isFeatureVerification);
- return result;
- }
-
- /**
- * Verifies integrity and the validity of a valid JAR File
- * the possible results are:
- *
- * result == NOT_SIGNED if the jar file is not signed.
- * result == INTEGRITY_VERIFIED if the Jar file has not been
- * modified since it has been
- * signed
- * result == CORRUPTED if the Jar file has been changed
- * since it has been signed.
- * result == SOURCE_VERIFIED if all the files in the Jar
- * have a certificate that is
- * present in the keystore
- * result == UNKNOWN_ERROR an occured during process, do
- * not install.
- * result == VERIFICATION.CANCELLED if process was cancelled, do
- * not install.
- * @return int
- */
- private JarVerificationResult verify(String file) {
-
- try {
-
- // verify integrity
- verifyIntegrity(file);
-
- // do not close input stream
- // as verifyIntegrity already did it
-
- //if user already said yes
- if (alreadyValidated()) {
- result.setVerificationCode(IVerificationResult.TYPE_ENTRY_ALREADY_ACCEPTED);
- return result;
- }
-
- // verify source certificate
- if (result.getVerificationCode() == IVerificationResult.TYPE_ENTRY_SIGNED_UNRECOGNIZED){
- verifyAuthentication();
- }
-
- // save the fact the file is not signed, so the user will not be prompted again
- if (result.getVerificationCode() == IVerificationResult.TYPE_ENTRY_NOT_SIGNED){
- acceptUnsignedFiles = true;
- }
-
-
- } catch (Exception e) {
- result.setVerificationCode(IVerificationResult.UNKNOWN_ERROR);
- result.setResultException(e);
- }
-
-
- if (monitor!=null)
- monitor.worked(1);
-
- return result;
- }
- /**
- * Verifies that each file has at least one certificate
- * valid in the keystore
- *
- * At least one certificate from each Certificate Array
- * of the Jar file must be found in the known Certificates
- */
- private void verifyAuthentication() throws CoreException {
-
- CertificatePair[] entries = result.getRootCertificates();
- boolean certificateFound = false;
-
- // If all the certificate of an entry are
- // not found in the list of known certifcate
- // the certificate is not trusted by any keystore.
- for (int i = 0; i < entries.length; i++) {
- certificateFound = existsInKeystore(entries[i].getRoot());
- if (certificateFound) {
- result.setVerificationCode(IVerificationResult.TYPE_ENTRY_SIGNED_RECOGNIZED);
- result.setFoundCertificate(entries[i]);
- return;
- }
- }
- }
-
- /**
- * Verifies the integrity of the JAR
- */
- private void verifyIntegrity(String file) {
-
- JarFile jarFile = null;
-
- try {
- // If the JAR is signed and not valid
- // a security exception will be thrown
- // while reading it
- jarFile = new JarFile(file, true);
- List filesInJar = readJarFile(jarFile);
- jarFile.close();
-
- // you have to read all the files once
- // before getting the certificates
- if (jarFile.getManifest()!=null) {
- Iterator iter = filesInJar.iterator();
- boolean certificateFound = false;
- while (iter.hasNext()) {
- JarEntry currentJarEntry = (JarEntry) iter.next();
- Certificate[] certs =currentJarEntry.getCertificates();
- if ((certs != null) && (certs.length != 0)) {
- certificateFound = true;
- result.addCertificates(certs);
- } else {
- String jarEntryName = currentJarEntry.getName();
- if (!jarEntryName.toUpperCase().startsWith(MANIFEST) && !currentJarEntry.isDirectory()){
- // if the jarEntry is not in MANIFEST, consider the whole file unsigned
- break;
- }
-
- }
- }
-
- if (certificateFound)
- result.setVerificationCode(IVerificationResult.TYPE_ENTRY_SIGNED_UNRECOGNIZED);
- else
- result.setVerificationCode(IVerificationResult.TYPE_ENTRY_NOT_SIGNED);
- } else {
- Exception e = new Exception(Policy.bind("JarVerifier.InvalidFile", file)); //$NON-NLS-1$
- result.setResultException(e);
- result.setVerificationCode(IVerificationResult.TYPE_ENTRY_NOT_SIGNED);
-
- // DEBUG
- if (UpdateManagerPlugin.DEBUG && UpdateManagerPlugin.DEBUG_SHOW_WARNINGS){
- IStatus status = Utilities.newCoreException(e.getMessage(),e).getStatus();
- UpdateManagerPlugin.getPlugin().getLog().log(status);
- }
-
- }
- } catch (SecurityException e) {
- // Jar file is signed
- // but content has changed since signed
- result.setVerificationCode(IVerificationResult.TYPE_ENTRY_CORRUPTED);
- } catch (InterruptedException e) {
- result.setVerificationCode(IVerificationResult.VERIFICATION_CANCELLED);
- } catch (Exception e) {
- result.setVerificationCode(IVerificationResult.UNKNOWN_ERROR);
- result.setResultException(e);
- }
-
- }
-
- private boolean alreadyValidated() {
-
- if (result.getVerificationCode()==IVerificationResult.TYPE_ENTRY_NOT_SIGNED)
- return (acceptUnsignedFiles);
-
- if (getTrustedCertificates() != null) {
- Iterator iter = getTrustedCertificates().iterator();
- CertificatePair[] jarPairs = result.getRootCertificates();
-
- // check if this is not a user accepted certificate for this feature
- while (iter.hasNext()) {
- CertificatePair trustedCertificate = (CertificatePair) iter.next();
- for (int i = 0; i < jarPairs.length; i++) {
- if (trustedCertificate.equals(jarPairs[i])) {
- return true;
- }
- }
- }
-
- // if certificate pair not found in trusted add it for next time
- for (int i = 0; i < jarPairs.length; i++) {
- addTrustedCertificate(jarPairs[i]);
- }
- }
-
- return false;
- }
-
- private void addTrustedCertificate(CertificatePair pair) {
- if (trustedCertificates == null)
- trustedCertificates = new ArrayList();
- if (pair != null)
- trustedCertificates.add(pair);
- }
-
- private List getTrustedCertificates() {
- if (trustedCertificates == null)
- trustedCertificates = new ArrayList();
- return trustedCertificates;
- }
-
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/KeyStores.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/KeyStores.java
deleted file mode 100644
index 3c5e8f1..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/KeyStores.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/KeystoreHandle.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/KeystoreHandle.java
deleted file mode 100644
index 117c554..0000000
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/security/KeystoreHandle.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.update.internal.security;
-
-import java.net.URL;
-
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-/**
- * Manages a handle to a keystore
- */
-public class KeystoreHandle {
-
- private URL location;
- private String type;
-
- public KeystoreHandle(URL url, String type){
- this.location = url;
- this.type = type;
- }
-
- /**
- * Gets the location.
- * @return Returns a URL
- */
- public URL getLocation() {
- return location;
- }
-
- /**
- * Sets the location.
- * @param location The location to set
- */
- public void setLocation(URL location) {
- this.location = location;
- }
-
- /**
- * Gets the type.
- * @return Returns a String
- */
- public String getType() {
- return type;
- }
-
- /**
- * Sets the type.
- * @param type The type to set
- */
- public void setType(String type) {
- this.type = type;
- }
-
-}
diff --git a/update/org.eclipse.update.examples/.classpath b/update/org.eclipse.update.examples/.classpath
deleted file mode 100644
index b48fe2a..0000000
--- a/update/org.eclipse.update.examples/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src/"/>
- <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
- <classpathentry kind="src" path="/org.apache.xerces"/>
- <classpathentry kind="src" path="/org.eclipse.core.boot"/>
- <classpathentry kind="src" path="/org.eclipse.update.core"/>
- <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.examples/.cvsignore b/update/org.eclipse.update.examples/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.examples/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/.project b/update/org.eclipse.update.examples/.project
deleted file mode 100644
index 39cb54a..0000000
--- a/update/org.eclipse.update.examples/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.update.examples</name>
- <comment></comment>
- <projects>
- <project>org.apache.xerces</project>
- <project>org.eclipse.core.boot</project>
- <project>org.eclipse.core.runtime</project>
- <project>org.eclipse.update.core</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ui.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ui.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.ui.PluginNature</nature>
- <nature>org.eclipse.team.cvs.core.cvsnature</nature>
- </natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.examples/.vcm_meta b/update/org.eclipse.update.examples/.vcm_meta
deleted file mode 100644
index 04f1033..0000000
--- a/update/org.eclipse.update.examples/.vcm_meta
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-description>
- <nature id="org.eclipse.jdt.core.javanature"/>
- <nature id="org.eclipse.pde.ui.PluginNature"/>
- <reference project-name="org.apache.xerces"/>
- <reference project-name="org.eclipse.core.boot"/>
- <reference project-name="org.eclipse.core.runtime"/>
- <reference project-name="org.eclipse.update.core"/>
- <builder name="org.eclipse.jdt.core.javabuilder">
- </builder>
- <builder name="org.eclipse.pde.ui.ManifestBuilder">
- </builder>
- <builder name="org.eclipse.pde.ui.SchemaBuilder">
- </builder>
-</project-description>
diff --git a/update/org.eclipse.update.examples/Scrapbook2.jpage b/update/org.eclipse.update.examples/Scrapbook2.jpage
deleted file mode 100644
index b5da99a..0000000
--- a/update/org.eclipse.update.examples/Scrapbook2.jpage
+++ /dev/null
@@ -1,111 +0,0 @@
-SiteManager.getSite(URL)throws CoreException
- String type = getTypeForprotocol(URL.getprotocol);
- try {
- if (type != null){
- attemptCreationSite(type,URL);
- } else {
- attemptCreationSite("http",URL);
- }
- } catch (CoreException e){
- throw new CoreException("Cannot create site",e.getMessage());
- }
-
-SiteManager.attemptCreationSite(type,URL)throws CoreException
- try {
- createSite(type,URL);
- } catch (InvalidTypeException e){
- try {
- createSite(e.getRealType(),URL);
- } catch (InvalidSiteExeption e){
- throw new CoreException("Wrong site type");
- }
- }
-
-SiteManager.createSite(type,URL) throws CoreExeption, InvalidSiteTypeException
-
-
-try {
-
- factory.createSite(url, forceCreation);
-
-} catch (IOException e) {
- // if the URL is pointing to either a file
-// or a directory, without reference
-if (url.getRef() != null) {
- // 4 nothing we can do
- throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);
-} else if (url.getFile().endsWith("/")) {
- // 1 try to add site.xml
- try {
- url = new URL(url,Site.SITE_XML);
- } catch (MalformedURLException e1){
- throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);
- }
- try {
- site = factory.createSite(url, forceCreation);
- } catch (ParsingException e1){
- throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);
- } catch (IOException e1){
- throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);
- }
-} else if (url.getFile().endsWith(Site.SITE_XML)) {
- // 3 nothing we can do
- throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);
-} else {
- // 2 try to add /site.xml
- try {
- url = new URL(url.getProtocol(),url.getHost(), url.getPort(), url.getFile()+"/"+Site.SITE_XML);
- } catch (MalformedURLException e1){
- throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);
- }
-
- try {
- site = factory.createSite(url, forceCreation);
- } catch (ParsingException e1){
- throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Input/Output Error:"+e.getMessage(),e1);
- } catch (IOException e1){
- throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Input/Output Error:"+e.getMessage(),e1);
- }
- }
-
- } catch (ParsingException e) {
-
- // if the URL is pointing to either a file
-// or a directory, without reference
-if (url.getRef() != null) {
- // 4 nothing we can do
- throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);
-} else if (url.getFile().endsWith("/")) {
- // 1 try to add site.xml
- try {
- url = new URL(url,Site.SITE_XML);
- } catch (MalformedURLException e1){
- throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);
- }
- try {
- site = factory.createSite(url, forceCreation);
- } catch (ParsingException e1){
- throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);
- } catch (IOException e1){
- throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);
- }
-
- } else if (url.getFile().endsWith(Site.SITE_XML)) {
- // 3 nothing we can do
- throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);
-} else {
- // 2 try to add /site.xml
-
- try {
- url = new URL(url.getProtocol(),url.getHost(), url.getPort(), url.getFile()+"/"+Site.SITE_XML);
- } catch (MalformedURLException e1){
- throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);
- }
- try {
- site = factory.createSite(url, forceCreation);
- } catch (ParsingException e1){
- throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Parsing error:"+e.getMessage(),e1);
- } catch (IOException e1){
- throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Parsing error:"+e.getMessage(),e1);
-
-
diff --git a/update/org.eclipse.update.examples/about.html b/update/org.eclipse.update.examples/about.html
deleted file mode 100644
index 768324e..0000000
--- a/update/org.eclipse.update.examples/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>
-<head>
-<title>About</title>
-<style type="text/css">
-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}
-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
-code { font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup { font-family: arial,helvetica,geneva; font-size: 10px}
-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li { font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect( ); margin-top: 5mm; margin-left: 3mm}
-</style>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<table border="0" cellspacing="5" cellpadding="2" width="100%" >
- <tr>
- <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>
- </tr>
- <tr>
- <td>
-<p>11th December, 2001</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in "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, "Program" will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL "Other License", any modifications, enhancements and/or
-other code and/or documentation "Modifications" uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-</td></tr></table>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/bin/org/eclipse/update/examples/buildzip/java.page.jpage b/update/org.eclipse.update.examples/bin/org/eclipse/update/examples/buildzip/java.page.jpage
deleted file mode 100644
index 8b3ca30..0000000
--- a/update/org.eclipse.update.examples/bin/org/eclipse/update/examples/buildzip/java.page.jpage
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/build.properties b/update/org.eclipse.update.examples/build.properties
deleted file mode 100644
index 4205e15..0000000
--- a/update/org.eclipse.update.examples/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-source.updateexamplescore.jar = src/
-bin.includes=plugin.xml,plugin.properties,*.jar,about.html
diff --git a/update/org.eclipse.update.examples/plugin.properties b/update/org.eclipse.update.examples/plugin.properties
deleted file mode 100644
index c6c5caa..0000000
--- a/update/org.eclipse.update.examples/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-name = Install/Update BuildZip Example
-provider-name = International Business Machines Corp.
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/plugin.xml b/update/org.eclipse.update.examples/plugin.xml
deleted file mode 100644
index 8d4780f..0000000
--- a/update/org.eclipse.update.examples/plugin.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- File written by PDE 1.0 -->
-<plugin
- id="org.eclipse.update.examples"
- name="%name"
- version="2.0.0"
- provider-name="%provider-name">
-<requires>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.apache.xerces"/>
- <import plugin="org.eclipse.core.boot"/>
- <import plugin="org.eclipse.update.core"/>
-</requires>
-
-<runtime>
- <library name="updateexamples.jar">
- <export name="*"/>
- </library>
-</runtime>
-
-<extension
- id="zip"
- point="org.eclipse.update.core.featureTypes">
- <feature-factory
- class="org.eclipse.update.examples.buildzip.BuildZipFeatureFactory">
- </feature-factory>
-</extension>
-
-<extension
- id="site.zip"
- point="org.eclipse.update.core.siteTypes">
- <site-factory
- class="org.eclipse.update.examples.buildzip.BuildZipSiteFactory">
- </site-factory>
-</extension>
-
-<extension
- id="site.freeform"
- point="org.eclipse.update.core.siteTypes">
- <site-factory
- class="org.eclipse.update.examples.freeform.FreeFormSiteFactory">
- </site-factory>
-</extension>
-
-</plugin>
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java
deleted file mode 100644
index 3b0108f..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.eclipse.update.examples.buildzip;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringBufferInputStream;
-import java.net.URL;
-import java.util.Properties;
-import java.util.jar.JarEntry;
-import java.util.jar.JarOutputStream;
-
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.ContentReference;
-import org.eclipse.update.core.IFeature;
-import org.eclipse.update.core.IFeatureContentProvider;
-import org.eclipse.update.core.IPluginEntry;
-import org.eclipse.update.core.JarContentReference;
-import org.eclipse.update.internal.core.UpdateManagerUtils;
-
-/**
- * Converts eclipse build .zip files into packaged feature
- */
-public class BuildZipConverter {
-
- public static void main(String[] args) {
- if (args.length <=0) {
- System.out.println("Usage: BuildZipConverter <path to the zip file>.\r\nExample: BuildZipConverter d:/download/integration-eclipse-SDK-20020109-win32.zip");
- return;
- }
- try {
- URL buildzip = new URL(("file:"+args[0]).replace(File.separatorChar, '/'));
- BuildZipFeatureFactory factory = new BuildZipFeatureFactory();
- IFeature feature = factory.createFeature(buildzip, null);
- IFeatureContentProvider provider = feature.getFeatureContentProvider();
-
- ContentReference[] refs = provider.getFeatureEntryContentReferences(null);
-
- File site = new File((args[0]+".packaged/").replace('/',File.separatorChar));
- site.mkdirs();
- File featuresDir = new File(site,"features");
- featuresDir.mkdirs();
- File pluginsDir = new File(site, "plugins");
- pluginsDir.mkdirs();
-
- File jarFile = new File(featuresDir,feature.getVersionedIdentifier()+".jar");
- System.out.println("writing feature archive: "+feature.getVersionedIdentifier()+".jar");
- writeJar(jarFile, refs, feature, null, null);
- JarContentReference jar = new JarContentReference("build.zip",buildzip);
- Properties manifest = getBuildManifest(jar);
-
- IPluginEntry[] plugins = feature.getPluginEntries();
- for (int i=0; i<plugins.length; i++) {
- refs = provider.getPluginEntryContentReferences(plugins[i], null);
- jarFile = new File(pluginsDir,plugins[i].getVersionedIdentifier()+".jar");
- System.out.println("writing plugin archive: "+plugins[i].getVersionedIdentifier()+".jar");
- writeJar(jarFile, refs, feature, plugins[i].getVersionedIdentifier().getIdentifier(), manifest);
- }
-
- writeSiteManifest(site, feature);
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
-
- public static void writeJar(File jarFile,ContentReference[] refs, IFeature feature, String pluginId, Properties manifest) {
-
- JarOutputStream jos = null;
- FileOutputStream os = null;
- InputStream is = null;
-
- try {
- os = new FileOutputStream(jarFile);
- jos = new JarOutputStream(os);
- JarEntry entry = null;
- String buf = null;
- StringBufferInputStream sbis = null;
-
- // write jar manifest (first entry in output stream)
- buf = "Manifest-Version: 1.0\nCreated-By: 2.0.0 (www.eclipse.org Feature Packager)\n";
- sbis = new StringBufferInputStream(buf);
- entry = new JarEntry("META-INF/MANIFEST.MF");
- jos.putNextEntry(entry);
- Utilities.copy(sbis,jos,null);
- sbis.close();
-
- // jar up the references
- for (int i=0; i<refs.length; i++) {
- String id = refs[i].getIdentifier();
- entry = new JarEntry(id);
- jos.putNextEntry(entry);
- is = refs[i].getInputStream();
- Utilities.copy(is,jos,null);
- is.close(); is = null;
- }
-
- // for plugin jars, write build manifest
- if (pluginId != null && manifest != null) {
- String key = "plugin@"+pluginId;
- String value = manifest.getProperty(key);
- if (value != null) {
- if (value.equals("HEAD")) {
- value += "-" + feature.getVersionedIdentifier().getVersion().getMajorComponent();
- }
- buf = key + "=" + value;
- sbis = new StringBufferInputStream(buf);
- entry = new JarEntry("buildmanifest.properties");
- jos.putNextEntry(entry);
- Utilities.copy(sbis,jos,null);
- sbis.close();
- }
- }
-
- // close jar
- jos.close(); jos = null; os = null;
- } catch(Exception e) {
- e.printStackTrace();
- } finally {
- if (is != null)
- try {is.close();} catch(IOException e) {}
-
- if (jos != null)
- try {jos.close();} catch(IOException e) {}
- else if (os != null)
- try {os.close();} catch(IOException e) {}
- }
- }
-
- public static void writeSiteManifest(File site, IFeature feature) throws IOException {
- File manifest = new File(site, "site.xml");
- FileOutputStream os = new FileOutputStream(manifest);
- String siteXML = "<site>\n <feature url=\"features/"+feature.getVersionedIdentifier().toString()+".jar\"/>\n</site>";
- StringBufferInputStream sbis = new StringBufferInputStream(siteXML);
- Utilities.copy(sbis,os,null);
- os.close();
- sbis.close();
- }
-
- public static Properties getBuildManifest(JarContentReference jar) throws IOException {
- ContentReference manifestEntry = jar.peek("eclipse/buildmanifest.properties",null/*ContentSelector*/, null/*ProgressMonitor*/);
- InputStream is = null;
- Properties props = null;
- try {
- props = new Properties();
- is = manifestEntry.getInputStream();
- props.load(is);
- } finally {
- if (is != null) try{ is.close(); } catch(IOException e) {}
- }
- return props;
- }
-}
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java
deleted file mode 100644
index faa301b..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java
+++ /dev/null
@@ -1,257 +0,0 @@
-package org.eclipse.update.examples.buildzip;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.jar.JarEntry;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.ContentReference;
-import org.eclipse.update.core.FeatureContentProvider;
-import org.eclipse.update.core.IFeatureContentProvider;
-import org.eclipse.update.core.INonPluginEntry;
-import org.eclipse.update.core.IPluginEntry;
-import org.eclipse.update.core.IVerifier;
-import org.eclipse.update.core.InstallMonitor;
-import org.eclipse.update.core.JarContentReference;
-import org.eclipse.update.core.JarContentReference.ContentSelector;
-import org.eclipse.update.core.model.FeatureModel;
-import org.eclipse.update.internal.core.UpdateManagerUtils;
-
-/**
- * An example feature content provider. It handles features packaged as
- * build zip's using the format used for integration and stable builds
- * posted on the downloads pages at www.eclipse.org
- * </p>
- * @since 2.0
- */
-
-public class BuildZipFeatureContentProvider extends FeatureContentProvider implements IFeatureContentProvider {
-
- private JarContentReference baseReference;
- private ContentReference generatedFeatureManifest;
- private ContentReference[] featureEntryContentReferences;
- private IPluginEntry currentPluginEntry;
- private INonPluginEntry currentNonPluginEntry;
-
- public BuildZipFeatureContentProvider(URL base) {
- super(base);
- this.baseReference = new JarContentReference("build.zip",base);
- }
-
- /*
- * @see IFeatureContentProvider#getFeatureManifest()
- */
- public ContentReference getFeatureManifestReference(InstallMonitor monitor) throws CoreException {
- if (generatedFeatureManifest == null) {
- throw newCoreException("Feature manifest is not available",null);
- }
- else
- return generatedFeatureManifest;
- }
-
- /*
- * @see IFeatureContentProvider#getArchiveReferences()
- */
- public ContentReference[] getArchiveReferences(InstallMonitor monitor) {
- // the feature and all its plugins files are packaged in a single archive
- return new ContentReference[] { baseReference };
- }
-
- /*
- * @see IFeatureContentProvider#getFeatureEntryArchiveReferences()
- */
- public ContentReference[] getFeatureEntryArchiveReferences(InstallMonitor monitor) {
- // the feature and all its plugins files are packaged in a single archive
- return new ContentReference[] { baseReference };
- }
-
- /*
- * @see IFeatureContentProvider#getPluginEntryArchiveReferences(IPluginEntry)
- */
- public ContentReference[] getPluginEntryArchiveReferences(IPluginEntry pluginEntry, InstallMonitor monitor) {
- // the feature and all its plugins files are packaged in a single archive
- return new ContentReference[] { baseReference };
- }
-
- /*
- * @see IFeatureContentProvider#getNonPluginEntryArchiveReferences(INonPluginEntry)
- */
- public ContentReference[] getNonPluginEntryArchiveReferences(INonPluginEntry nonPluginEntry, InstallMonitor monitor)
- throws CoreException {
- try {
- return peekNonPluginEntryContent(nonPluginEntry,monitor);
- } catch(IOException e) {
- throw newCoreException("Unable to return content for non plugin entry "+nonPluginEntry.getIdentifier(),e);
- }
- }
-
- /*
- * @see IFeatureContentProvider#getFeatureEntryContentReferences()
- */
- public ContentReference[] getFeatureEntryContentReferences(InstallMonitor monitor) {
- if (featureEntryContentReferences == null)
- return new ContentReference[0];
- else
- return featureEntryContentReferences;
- }
-
- /*
- * @see IFeatureContentProvider#getPluginEntryContentReferences(IPluginEntry)
- */
- public ContentReference[] getPluginEntryContentReferences(IPluginEntry pluginEntry, InstallMonitor monitor)
- throws CoreException {
- try {
- return peekPluginEntryContent(pluginEntry, monitor);
- } catch(IOException e) {
- throw newCoreException("Unable to return content for plugin entry "+pluginEntry.getVersionedIdentifier(),e);
- }
- }
-
- public URL getFeatureBaseURL() throws IOException {
- return getWorkingDirectory().toURL();
-
- }
-
- ContentReference getFeatureBuildManifest() throws Exception {
- return baseReference.peek("eclipse/buildmanifest.properties",null/*ContentSelector*/, null/*ProgressMonitor*/);
- }
-
- ContentReference getPluginManifest(String pluginId, boolean isFragment) throws Exception {
- String manifestName = "eclipse/plugins/" + pluginId + "/" + (isFragment ? "fragment.xml" : "plugin.xml");
- return baseReference.peek(manifestName, null/*ContentSelector*/, null/*ProgressMonitor*/);
- }
-
- void unpackFeatureEntryContent(FeatureModel feature, InstallMonitor monitor) throws IOException {
-
- // define selector for feature entry files
- ContentSelector selector = new ContentSelector() {
- public boolean include(JarEntry jarEntry) {
- if (jarEntry.isDirectory())
- return false;
- String entry = jarEntry.getName();
- if (entry.startsWith("eclipse/readme/"))
- return true;
- else if (entry.startsWith("eclipse/splash/"))
- return true;
- else if (entry.startsWith("eclipse/") && entry.indexOf("/",8)==-1 && entry.endsWith(".html"))
- return true;
- else
- return false;
- }
- public String defineIdentifier(JarEntry jarEntry) {
- String entry = jarEntry.getName();
- if (entry.startsWith("eclipse/"))
- return entry.substring(8);
- else
- return entry;
- }
- };
-
- // unpack feature entry files
- File tmpDir = getWorkingDirectory();
- ContentReference[] refs = baseReference.unpack(tmpDir, selector, monitor);
-
- // write out feature manifest (feature.xml);
- File manifest = Utilities.createLocalFile(tmpDir, null/*key*/,"feature.xml");
- ContentReference manifestReference = new ContentReference("feature.xml", manifest);
- DefaultModelWriter w = new DefaultModelWriter(feature);
- FileOutputStream os = null;
- try {
- os = new FileOutputStream(manifest);
- w.writeFeatureManifest(os);
- } finally {
- if (os != null) try { os.close(); } catch(IOException e) {}
- }
- this.generatedFeatureManifest = manifestReference;
-
- // save references (newly-written feature.xml plus rest of selected feature files)
- ContentReference[] allRefs = new ContentReference[refs.length+1];
- allRefs[0] = manifestReference;
- System.arraycopy(refs,0,allRefs,1,refs.length);
- featureEntryContentReferences = allRefs;
- }
-
- ContentReference[] peekPluginEntryContent(IPluginEntry plugin, InstallMonitor monitor) throws IOException {
-
- // define selector for plugin entry files
- ContentSelector selector = new ContentSelector() {
- public boolean include(JarEntry jarEntry) {
- if (jarEntry.isDirectory())
- return false;
- String entry = jarEntry.getName();
- String id = currentPluginEntry.getVersionedIdentifier().getIdentifier();
- if (id==null)
- return false;
- else if (entry.startsWith("eclipse/plugins/"+id+"/"))
- return true;
- else
- return false;
- }
- public String defineIdentifier(JarEntry jarEntry) {
- String entry = jarEntry.getName();
- int ix = entry.indexOf("/",16);
- if (ix != -1) {
- return entry.substring(ix+1);
- } else {
- return entry;
- }
- }
- };
-
- // unpack plugin entry files
- currentPluginEntry = plugin;
- return baseReference.peek(selector, monitor);
- }
-
- ContentReference[] peekNonPluginEntryContent(INonPluginEntry data, InstallMonitor monitor) throws IOException {
-
- // define selector for non plugin entry files
- ContentSelector selector = new ContentSelector() {
- public boolean include(JarEntry jarEntry) {
- if (jarEntry.isDirectory())
- return false;
- String entry = jarEntry.getName();
- String id = currentNonPluginEntry.getIdentifier();
- if (!id.equals("root"))
- return false;
- else if (!entry.startsWith("eclipse/plugins/"))
- return true;
- else
- return false;
- }
- public String defineIdentifier(JarEntry jarEntry) {
- String entry = jarEntry.getName();
- if (entry.startsWith("eclipse/"))
- return entry.substring(8);
- else
- return entry;
- }
- };
-
- // unpack non plugin entry files
- currentNonPluginEntry = data;
- return baseReference.peek(selector, monitor);
- }
-
- private CoreException newCoreException(String s, Throwable e) throws CoreException {
- return new CoreException(new Status(IStatus.ERROR,"org.eclipse.update.examples",0,s,e));
- }
- /*
- * @see IFeatureContentProvider#getVerifier()
- */
- public IVerifier getVerifier() throws CoreException {
- return null;
- }
-
-}
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java
deleted file mode 100644
index df11a78..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.update.examples.buildzip;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.update.core.BaseFeatureFactory;
-import org.eclipse.update.core.Feature;
-import org.eclipse.update.core.IFeature;
-import org.eclipse.update.core.IFeatureFactory;
-import org.eclipse.update.core.ISite;
-import org.eclipse.update.core.model.FeatureModel;
-
-/**
- * An example feature factory based on the packaging
- * format used for integration and stable builds
- * posted on the downloads pages at www.eclipse.org
- * </p>
- * @since 2.0
- */
-
-public class BuildZipFeatureFactory
- extends BaseFeatureFactory
- implements IFeatureFactory {
-
- /*
- * @see IFeatureFactory#createFeature(URL, ISite)
- */
- public IFeature createFeature(URL url, ISite site) throws CoreException {
- try {
- // create content provider for feature
- BuildZipFeatureContentProvider cp = new BuildZipFeatureContentProvider(url);
- Feature feature = null;
-
- // parse the feature
- feature = (Feature) parseFeature(cp);
-
- // initialize feature
- feature.setFeatureContentProvider(cp);
- feature.setSite(site);
- feature.resolve(cp.getFeatureBaseURL(), null);
- feature.markReadOnly();
- return feature;
- } catch (Exception e) {
- throw new CoreException(new Status(IStatus.ERROR,"org.eclipse.update.examples.buildzip",0,"Unable to create feature",e));
- }
- }
-
- /*
- * parse the build zip to reconstruct a feature model
- */
- public FeatureModel parseFeature(BuildZipFeatureContentProvider cp) throws Exception {
- return (new BuildZipFeatureParser(this)).parse(cp);
- }
-
-}
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java
deleted file mode 100644
index cf45873..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java
+++ /dev/null
@@ -1,204 +0,0 @@
-package org.eclipse.update.examples.buildzip;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URLDecoder;
-import java.util.Enumeration;
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.eclipse.update.core.ContentReference;
-import org.eclipse.update.core.Version;
-import org.eclipse.update.core.model.FeatureModel;
-import org.eclipse.update.core.model.NonPluginEntryModel;
-import org.eclipse.update.core.model.PluginEntryModel;
-import org.eclipse.update.core.model.URLEntryModel;
-
-/**
- * An example feature parser. It handles features packaged as
- * build zip's using the format used for integration and stable builds
- * posted on the downloads pages at www.eclipse.org
- * </p>
- * @since 2.0
- */
-
-public class BuildZipFeatureParser {
-
- private BuildZipFeatureFactory factory;
- private BuildZipPluginParser pluginParser;
-
- public BuildZipFeatureParser(BuildZipFeatureFactory factory) {
- this.factory = factory;
- }
-
- public FeatureModel parse(BuildZipFeatureContentProvider cp) throws Exception {
- return parseFeature(cp);
- }
-
- private FeatureModel parseFeature(BuildZipFeatureContentProvider cp) throws Exception {
-
- // get reference to the build manifest
- ContentReference manifestRef = cp.getFeatureBuildManifest();
- InputStream is = manifestRef.getInputStream();
-
- // load buildmanifest.properties
- Properties manifest = new Properties();
- try {
- manifest.load(is);
- } finally {
- if (is!=null) try { is.close(); } catch(IOException e) {}
- }
-
- // populate feature model
- FeatureModel feature = factory.createFeatureModel();
- parseFeatureEntry(cp, feature, manifest);
-
- // parse plugin entries
- parsePluginEntries(cp, feature, manifest);
-
- // parse non-plugin entries
- parseNonPluginEntries(cp, feature, manifest);
-
- // unpack feature entry content
- cp.unpackFeatureEntryContent(feature, null/*IProgressMonitor*/);
-
- return feature;
- }
-
- private void parseFeatureEntry(BuildZipFeatureContentProvider cp, FeatureModel feature, Properties manifest) throws Exception {
-
- // parse out build zip file name. It is assumed to be in the
- // form <package identifier>-<build date>-<target platform>.zip,
- // where
- // <package identifier> is hyphen (-) separaterd token list
- // <build date> is single all-numeric token
- // <target platform> is hyphen (-) separaterd token list
-
- String pkgId = "";
- String target = "";
- String build = "";
- String state = "ID";
- boolean firstToken = true;
- String zipName = URLDecoder.decode(cp.getURL().getFile());
- int ix = zipName.lastIndexOf("/");
- if (ix != -1)
- zipName = zipName.substring(ix+1);
- if (zipName.endsWith(".zip")) {
- zipName = zipName.substring(0,zipName.length()-4);
- }
- StringTokenizer tokenizer = new StringTokenizer(zipName,"-",false);
- String token;
- while(tokenizer.hasMoreTokens()) {
- token = tokenizer.nextToken();
- try {
- Long.parseLong(token);
- state = "TARGET";
- target = "";
- firstToken = true;
- build = token+".0.0";
- } catch (NumberFormatException e) {
- if (state.equals("ID")) {
- pkgId += (firstToken ? "" : " ") + token;
- } else {
- target += (firstToken ? "" : " ") + token;
- }
- firstToken = false;
- }
- }
-
- // generate base feature attributes
- feature.setFeatureIdentifier(pkgId.replace(' ','.'));
- feature.setFeatureVersion(build);
- feature.setLabel(pkgId.substring(0,1).toUpperCase() + pkgId.substring(1) + " for " + target);
- feature.setProvider("www.eclipse.org");
- feature.setImageURLString("splash/splash_full.bmp");
- feature.setOS(target.replace(' ','-'));
-
- // add description
- URLEntryModel description = factory.createURLEntryModel();
- description.setURLString("readme/readme.html");
- description.setAnnotation("x");
- feature.setDescriptionModel(description);
-
- // add license
- URLEntryModel license = factory.createURLEntryModel();
- license.setURLString("about.html");
- license.setAnnotation("You must view the full license by following the \"License\" link in the feature preview.\nSelecting \"Accept\" indicates that you have viewed and accepted the feature license.");
- feature.setLicenseModel(license);
-
- // add copyright
- URLEntryModel copyright = factory.createURLEntryModel();
- copyright.setURLString("notice.html");
- copyright.setAnnotation("x");
- feature.setCopyrightModel(copyright);
- }
-
- private void parsePluginEntries(BuildZipFeatureContentProvider cp, FeatureModel feature, Properties manifest) throws Exception {
-
- Enumeration entries = manifest.keys();
- String plugin;
- String pluginId;
- String pluginVersion;
- String pluginBuildVersion;
- PluginEntryModel pluginEntry;
- while(entries.hasMoreElements()) {
- plugin = (String) entries.nextElement();
- if (plugin.startsWith("plugin@")) {
- pluginId = plugin.substring(7);
- pluginBuildVersion = manifest.getProperty(plugin);
- if (pluginBuildVersion.equals("HEAD")) {
- String featureVersion = feature.getFeatureVersion();
- int ix = featureVersion.indexOf(".");
- String featureMajor = ix==-1 ? featureVersion : featureVersion.substring(0,ix);
- pluginBuildVersion += "-" + featureMajor;
- }
- pluginEntry = factory.createPluginEntryModel();
- pluginVersion = parsePluginVersionInManifest(cp, pluginId, pluginEntry);
- if (pluginVersion != null) {
- pluginEntry.setPluginIdentifier(pluginId);
- pluginEntry.setPluginVersion((new Version(pluginVersion)).toString()+"."+pluginBuildVersion);
- feature.addPluginEntryModel(pluginEntry);
- }
- }
- }
- }
-
- private void parseNonPluginEntries(BuildZipFeatureContentProvider cp, FeatureModel feature, Properties manifest) throws Exception {
- // NonPluginEntryModel nonPluginEntry = factory.createNonPluginEntryModel();
- // nonPluginEntry.setIdentifier("root");
- // feature.addNonPluginEntryModel(nonPluginEntry);
- }
-
- private String parsePluginVersionInManifest(BuildZipFeatureContentProvider cp, String pluginId, PluginEntryModel pluginEntry) {
-
- if (pluginParser == null)
- pluginParser = new BuildZipPluginParser();
-
- InputStream is = null;
- ContentReference pluginManifest;
- try {
- // try plugin.xml
- pluginManifest = cp.getPluginManifest(pluginId, false);
- is = pluginManifest.getInputStream();
- return pluginParser.parse(is);
- } catch (Exception e) {
- try {
- // retry with feature.xml
- pluginManifest = cp.getPluginManifest(pluginId, true);
- is = pluginManifest.getInputStream();
- String result = pluginParser.parse(is);
- pluginEntry.isFragment(true);
- return result;
- } catch (Exception e2) {
- return null;
- }
- } finally {
- if (is != null) try { is.close(); } catch (IOException e) {}
- }
- }
-}
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java
deleted file mode 100644
index 90e1d1f..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.update.examples.buildzip;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.xerces.parsers.SAXParser;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Parse default feature.xml
- */
-
-public class BuildZipPluginParser extends DefaultHandler {
-
- private SAXParser parser;
- private String version;
-
- private static final String PLUGIN = "plugin";
- private static final String FRAGMENT = "fragment";
- private static final String ID = "id";
- private static final String VERSION = "version";
-
- private class ParseCompleteException extends SAXException {
- public ParseCompleteException(String arg0) {
- super(arg0);
- }
- }
-
- /**
- * Constructor for DefaultFeatureParser
- */
- public BuildZipPluginParser() {
- super();
- this.parser = new SAXParser();
- this.parser.setContentHandler(this);
- }
-
- /**
- * @since 2.0
- */
- public synchronized String parse(InputStream in) throws SAXException, IOException {
- try {
- version = null;
- parser.parse(new InputSource(in));
- } catch(ParseCompleteException e) {
- }
- return version;
- }
-
- /**
- * @see DefaultHandler#startElement(String, String, String, Attributes)
- */
- public void startElement(String uri, String localName,String qName, Attributes attributes) throws SAXException {
-
- String tag = localName.trim();
-
- if (tag.equalsIgnoreCase(PLUGIN)) {
- processPlugin(attributes);
- return;
- }
-
- if (tag.equalsIgnoreCase(FRAGMENT)) {
- processPlugin(attributes);
- return;
- }
- }
-
- /**
- * process plugin entry info
- */
- private void processPlugin(Attributes attributes) throws ParseCompleteException {
- version = attributes.getValue("version");
- throw new ParseCompleteException("");
- }
-}
-
-
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java
deleted file mode 100644
index 05ec032..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.update.examples.buildzip;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.SiteContentProvider;
-
-public class BuildZipSiteContentProvider extends SiteContentProvider {
-
- /**
- * Constructor for SiteContentProvider.
- */
- public BuildZipSiteContentProvider(URL url) {
- super(url);
- }
-
- /*
- * @see ISiteContentProvider#getArchiveReference(String)
- */
- public URL getArchiveReference(String id) throws CoreException {
- // build zip features do not have associated archives
- // the zip file also contains the archives files
- return null;
- }
-
-}
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java
deleted file mode 100644
index c59ad05..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.update.examples.buildzip;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLDecoder;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.BaseSiteFactory;
-import org.eclipse.update.core.ISite;
-import org.eclipse.update.core.Site;
-import org.eclipse.update.core.model.FeatureReferenceModel;
-import org.eclipse.update.core.model.InvalidSiteTypeException;
-import org.eclipse.update.core.model.CategoryModel;
-
-public class BuildZipSiteFactory extends BaseSiteFactory {
-
- /*
- * @see ISiteFactory#createSite(URL)
- */
- public ISite createSite(URL url) throws CoreException,InvalidSiteTypeException {
-
- Site site = null;
-
- // create site and add category
- site = (Site) createSiteMapModel();
- CategoryModel category = createSiteCategoryModel();
- category.setName("eclipse-builds");
- category.setLabel("Eclipse Builds");
- site.addCategoryModel(category);
-
- // set content provider
- BuildZipSiteContentProvider contentProvider = new BuildZipSiteContentProvider(url);
- site.setSiteContentProvider(contentProvider);
-
- // get all matching zip files on the site
- FileFilter filter = new FileFilter() {
- public boolean accept(File file) {
- if (file.getName().endsWith(".zip")) {
- try {
- ZipFile zip = new ZipFile(file);
- ZipEntry entry = zip.getEntry("eclipse/buildmanifest.properties");
- if (entry == null)
- return false;
- else
- return true;
- } catch (IOException e) {
- return false;
- }
- } else
- return false;
- }
- };
- File file = new File(URLDecoder.decode(url.getFile()));
- File[] zips = file.listFiles(filter);
-
- // create a reference for each matching zip
- FeatureReferenceModel ref = null;
- for (int i = 0; zips != null && i < zips.length; i++) {
- ref = createFeatureReferenceModel();
- ref.setType("org.eclipse.update.examples.zip");
- ref.setSiteModel(site);
- ref.setURLString("file:" + zips[i].getAbsolutePath());
- ref.setCategoryNames(new String[] { "eclipse-builds" });
- site.addFeatureReferenceModel(ref);
- }
- try {
- site.resolve(url, null); // resolve any URLs relative to the site
- } catch (MalformedURLException e){
- throw Utilities.newCoreException("",e);
- }
-
- return site;
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java
deleted file mode 100644
index 60b1eef..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java
+++ /dev/null
@@ -1,228 +0,0 @@
-package org.eclipse.update.examples.buildzip;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.io.OutputStream;
-import java.io.PrintWriter;
-
-import org.eclipse.update.core.model.*;
-
-/**
- * Write standard feature manifest (feature.xml) from model.
- * </p>
- * @since 2.0
- */
-
-public class DefaultModelWriter {
-
- private FeatureModel feature;
-
- /**
- * @since 2.0
- */
- public DefaultModelWriter(FeatureModel feature) {
- this.feature = feature;
- }
-
- /**
- * @since 2.0
- */
- public void writeFeatureManifest(OutputStream os) {
- PrintWriter w = new PrintWriter(os);
- writeFeature(w,0,feature);
- w.flush();
- }
-
- private void writeFeature(PrintWriter w, int level, FeatureModel feature) {
- if (feature == null) return;
-
- String in = getIndent(level);
- w.println(in+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-
- w.println(in+"<feature");
- if (feature.getFeatureIdentifier()!=null)
- w.println(in+" "+"id=\""+feature.getFeatureIdentifier()+"\"");
- if (feature.getFeatureVersion()!=null)
- w.println(in+" "+"version=\""+feature.getFeatureVersion()+"\"");
- if (feature.getLabelNonLocalized()!=null)
- w.println(in+" "+"label=\""+feature.getLabelNonLocalized()+"\"");
- if (feature.getProviderNonLocalized()!=null)
- w.println(in+" "+"provider-name=\""+feature.getProviderNonLocalized()+"\"");
- if (feature.getImageURLString()!=null)
- w.println(in+" "+"image=\""+feature.getImageURLString()+"\"");
- if (feature.getOS()!=null)
- w.println(in+" "+"os=\""+feature.getOS()+"\"");
- if (feature.getWS()!=null)
- w.println(in+" "+"ws=\""+feature.getWS()+"\"");
- if (feature.getNL()!=null)
- w.println(in+" "+"nl=\""+feature.getNL()+"\"");
- if (feature.getApplication()!=null)
- w.println(in+" "+"application=\""+feature.getApplication()+"\"");
- w.println(in+" "+">");
-
- writeDescription(w, level+1, feature.getDescriptionModel());
- writeCopyright(w, level+1, feature.getCopyrightModel());
- writeLicense(w, level+1, feature.getLicenseModel());
- writeURLs(w, level+1, feature);
- writePrereqs(w, level+1, feature);
- writePluginEntries(w, level+1, feature);
- writeNonPluginEntries(w, level+1, feature);
-
- w.println("");
- w.println(in+"</feature>");
- }
-
- private void writeDescription(PrintWriter w, int level, URLEntryModel ue) {
- writeDescriptionEntry(w,level, ue, "description");
- }
-
- private void writeCopyright(PrintWriter w, int level, URLEntryModel ue) {
- writeDescriptionEntry(w,level, ue, "copyright");
- }
-
- private void writeLicense(PrintWriter w, int level, URLEntryModel ue) {
- writeDescriptionEntry(w,level, ue, "license");
- }
-
- private void writeDescriptionEntry(PrintWriter w, int level, URLEntryModel ue, String tag) {
- if (ue == null) return;
- String url = ue.getURLString();
- String txt = ue.getAnnotationNonLocalized();
- if (url==null && txt==null) return;
-
- String in = getIndent(level);
- w.println("");
- if (url==null)
- w.println(in+"<"+tag+">");
- else {
- w.print(in+"<"+tag+" url=\""+ue.getURLString()+"\"");
- if (txt==null)
- w.println("/>");
- else
- w.println(">");
- }
- if (txt!=null) {
- w.println(in + txt);
- w.println(in+"</"+tag+">");
- }
- }
-
- private void writeURLs(PrintWriter w, int level, FeatureModel feature) {
- URLEntryModel update = feature.getUpdateSiteEntryModel();
- URLEntryModel[] discovery = feature.getDiscoverySiteEntryModels();
- if (update == null && (discovery == null || discovery.length==0)) return;
-
- String in = getIndent(level);
- String in2 = getIndent(level+1);
- w.println("");
- w.println(in+"<url>");
-
- if (update != null) {
- w.println(in2+"<update");
- if (update.getURLString()!=null)
- w.println(in2+" "+"url=\""+update.getURLString()+"\"");
- if (update.getAnnotationNonLocalized()!=null)
- w.println(in2+" "+"label=\""+update.getAnnotationNonLocalized()+"\"");
- w.println(in2+" "+"/>");
- }
-
- for (int i=0; discovery!=null && i<discovery.length; i++) {
- w.println(in2+"<discovery");
- if (discovery[i].getURLString()!=null)
- w.println(in2+" "+"url=\""+discovery[i].getURLString()+"\"");
- if (discovery[i].getAnnotationNonLocalized()!=null)
- w.println(in2+" "+"label=\""+discovery[i].getAnnotationNonLocalized()+"\"");
- w.println(in2+" "+"/>");
- }
-
- w.println(in+"</url>");
- }
-
- private void writePrereqs(PrintWriter w, int level, FeatureModel feature) {
- ImportModel[] imp = feature.getImportModels();
- if (imp == null || imp.length == 0) return;
-
- String in = getIndent(level);
- String in2 = getIndent(level+1);
- w.println("");
- w.println(in+"<requires>");
-
- for (int i=0; imp!=null && i<imp.length; i++) {
- w.println(in2+"<import");
- if (imp[i].getPluginIdentifier()!=null)
- w.println(in2+" "+"plugin=\""+imp[i].getPluginIdentifier()+"\"");
- if (imp[i].getPluginVersion()!=null)
- w.println(in2+" "+"version=\""+imp[i].getPluginVersion()+"\"");
- if (imp[i].getMatchingRuleName()!=null)
- w.println(in2+" "+"match=\""+imp[i].getMatchingRuleName()+"\"");
- w.println(in2+" "+"/>");
- }
-
- w.println(in+"</requires>");
- }
-
- private void writePluginEntries(PrintWriter w, int level, FeatureModel feature) {
- PluginEntryModel[] plugin = feature.getPluginEntryModels();
- if (plugin == null || plugin.length == 0) return;
-
- String in = getIndent(level);
- w.println("");
-
- for (int i=0; i<plugin.length; i++) {
- w.println(in+"<plugin");
- if (plugin[i].getPluginIdentifier()!=null)
- w.println(in+" "+"id=\""+plugin[i].getPluginIdentifier()+"\"");
- if (plugin[i].getPluginVersion()!=null)
- w.println(in+" "+"version=\""+plugin[i].getPluginVersion()+"\"");
- if (plugin[i].isFragment())
- w.println(in+" "+"fragment=\""+plugin[i].isFragment()+"\"");
- if (plugin[i].getOS()!=null)
- w.println(in+" "+"os=\""+plugin[i].getOS()+"\"");
- if (plugin[i].getWS()!=null)
- w.println(in+" "+"ws=\""+plugin[i].getWS()+"\"");
- if (plugin[i].getNL()!=null)
- w.println(in+" "+"nl=\""+plugin[i].getNL()+"\"");
- if (plugin[i].getDownloadSize()!=ContentEntryModel.UNKNOWN_SIZE)
- w.println(in+" "+"download-size=\""+plugin[i].getDownloadSize()+"\"");
- if (plugin[i].getInstallSize()!=ContentEntryModel.UNKNOWN_SIZE)
- w.println(in+" "+"install-size=\""+plugin[i].getInstallSize()+"\"");
- w.println(in+" "+"/>");
- }
- }
-
- private void writeNonPluginEntries(PrintWriter w, int level, FeatureModel feature) {
- NonPluginEntryModel[] data = feature.getNonPluginEntryModels();
- if (data == null || data.length == 0) return;
-
- String in = getIndent(level);
- w.println("");
-
- for (int i=0; i<data.length; i++) {
- w.println(in+"<data");
- if (data[i].getIdentifier()!=null)
- w.println(in+" "+"id=\""+data[i].getIdentifier()+"\"");
- if (data[i].getOS()!=null)
- w.println(in+" "+"os=\""+data[i].getOS()+"\"");
- if (data[i].getWS()!=null)
- w.println(in+" "+"ws=\""+data[i].getWS()+"\"");
- if (data[i].getNL()!=null)
- w.println(in+" "+"nl=\""+data[i].getNL()+"\"");
- if (data[i].getDownloadSize()!=ContentEntryModel.UNKNOWN_SIZE)
- w.println(in+" "+"download-size=\""+data[i].getDownloadSize()+"\"");
- if (data[i].getInstallSize()!=ContentEntryModel.UNKNOWN_SIZE)
- w.println(in+" "+"install-size=\""+data[i].getInstallSize()+"\"");
- w.println(in+" "+"/>");
- }
- }
-
-
- private String getIndent(int level) {
- String indent = "";
- for (int i=0; i<level; i++)
- indent += " ";
- return indent;
- }
-}
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java
deleted file mode 100644
index 1e189df..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.update.examples.buildzip;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-
-import java.net.URL;
-
-import org.eclipse.update.core.*;
-
-/**
- * unit test harness
- */
-
-public class Test {
-
- public static void main(String[] args) {
-
- try {
- URL url = new URL("file:d:/downloads/eclipse 2.0/integration-eclipse-SDK-20020109-win32.zip");
- BuildZipFeatureFactory factory = new BuildZipFeatureFactory();
- Feature feature = (Feature) factory.createFeature(url,null/*ISite*/);
- DefaultModelWriter w = new DefaultModelWriter(feature);
- w.writeFeatureManifest(System.out);
-
- System.out.println("");
- System.out.println("Feature entry references");
- ContentReference[] refs = feature.getFeatureContentProvider().getFeatureEntryContentReferences(null);
- for (int i=0; i< refs.length; i++) {
- System.out.println(" "+refs[i].getIdentifier());
- }
-
- System.out.println("");
- System.out.println("Plug-in entry references");
- IPluginEntry[] entry = feature.getPluginEntries();
- refs = feature.getFeatureContentProvider().getPluginEntryContentReferences(entry[0], null);
- for (int i=0; i< refs.length; i++) {
- System.out.println(" "+refs[i].getIdentifier());
- }
-
- System.out.println("");
- System.out.println("Non-plug-in entry references");
- INonPluginEntry[] data = feature.getNonPluginEntries();
- refs = feature.getFeatureContentProvider().getNonPluginEntryArchiveReferences(data[0], null);
- for (int i=0; i< refs.length; i++) {
- System.out.println(" "+refs[i].getIdentifier());
- }
-
- System.out.println("Done ...");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage
deleted file mode 100644
index 8b3ca30..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java
deleted file mode 100644
index 2cbeab4..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.update.examples.freeform;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.update.core.SiteContentProvider;
-
-public class FreeFormSiteContentProvider extends SiteContentProvider {
-
- /**
- * Constructor for SiteContentProvider.
- */
- public FreeFormSiteContentProvider(URL url) {
- super(url);
- }
-
- /*
- * @see ISiteContentProvider#getArchiveReference(String)
- */
- public URL getArchiveReference(String id) throws CoreException {
- try {
- return new URL(getURL(),id);
- } catch(MalformedURLException e) {
- throw newCoreException("Unable to return archive URL",e);
- }
- }
-
- private CoreException newCoreException(String s, Throwable e) throws CoreException {
- return new CoreException(new Status(IStatus.ERROR,"org.eclipse.update.examples",0,s,e));
- }
-
-}
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java
deleted file mode 100644
index cb3c7fc..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.update.examples.freeform;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.BaseSiteFactory;
-import org.eclipse.update.core.ISite;
-import org.eclipse.update.core.Site;
-import org.eclipse.update.core.model.InvalidSiteTypeException;
-import org.eclipse.update.core.model.URLEntryModel;
-
-public class FreeFormSiteFactory extends BaseSiteFactory {
-
- /*
- * @see ISiteFactory#createSite(URL)
- */
- public ISite createSite(URL url)
- throws CoreException, InvalidSiteTypeException {
-
- // Create site
- Site site = null;
- InputStream is = null;
- try {
- is = url.openStream();
- site = (Site) parseSite(is);
-
- URLEntryModel realSiteRef = site.getDescriptionModel();
- if (realSiteRef == null)
- throw Utilities.newCoreException(
- "Unable to obtain update site reference",
- null);
- String siteURLString = realSiteRef.getURLString();
- if (siteURLString == null)
- throw Utilities.newCoreException(
- "Unable to obtain update site reference",
- null);
- URL siteURL = new URL(siteURLString);
- FreeFormSiteContentProvider contentProvider =
- new FreeFormSiteContentProvider(siteURL);
- site.setSiteContentProvider(contentProvider);
- site.resolve(siteURL, null); // resolve any URLs relative to the site
-
- } catch (MalformedURLException e){
- throw Utilities.newCoreException("Unable to create URL",e);
- } catch (IOException e){
- throw Utilities.newCoreException("Unable to access URL",e);
- } finally {
- if (is != null)
- try {
- is.close();
- } catch (IOException e) {
- }
- }
-
- return site;
- }
-
- /*
- * @see SiteModelFactory#canParseSiteType(String)
- */
- public boolean canParseSiteType(String type) {
- return type != null
- && type.equals("org.eclipse.update.examples.site.freeform");
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/.classpath b/update/org.eclipse.update.tests.core/.classpath
deleted file mode 100644
index 98c6705..0000000
--- a/update/org.eclipse.update.tests.core/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src/"/>
- <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
- <classpathentry kind="src" path="/org.junit"/>
- <classpathentry kind="src" path="/org.apache.xerces"/>
- <classpathentry kind="src" path="/org.eclipse.core.resources"/>
- <classpathentry kind="src" path="/org.eclipse.update.core"/>
- <classpathentry kind="src" path="/org.eclipse.help"/>
- <classpathentry kind="src" path="/org.eclipse.core.boot"/>
- <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.tests.core/.cvsignore b/update/org.eclipse.update.tests.core/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.tests.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/.project b/update/org.eclipse.update.tests.core/.project
deleted file mode 100644
index cf6e950..0000000
--- a/update/org.eclipse.update.tests.core/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.update.tests.core</name>
- <comment></comment>
- <projects>
- <project>org.apache.xerces</project>
- <project>org.eclipse.core.boot</project>
- <project>org.eclipse.core.resources</project>
- <project>org.eclipse.core.runtime</project>
- <project>org.eclipse.help</project>
- <project>org.eclipse.update.core</project>
- <project>org.junit</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ui.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ui.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.ui.PluginNature</nature>
- <nature>org.eclipse.team.cvs.core.cvsnature</nature>
- </natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/.vcm_meta b/update/org.eclipse.update.tests.core/.vcm_meta
deleted file mode 100644
index 808de9f..0000000
--- a/update/org.eclipse.update.tests.core/.vcm_meta
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-description>
- <nature id="org.eclipse.jdt.core.javanature"/>
- <nature id="org.eclipse.pde.ui.PluginNature"/>
- <reference project-name="org.apache.xerces"/>
- <reference project-name="org.eclipse.core.boot"/>
- <reference project-name="org.eclipse.core.resources"/>
- <reference project-name="org.eclipse.core.runtime"/>
- <reference project-name="org.eclipse.help"/>
- <reference project-name="org.eclipse.update.core"/>
- <reference project-name="org.junit"/>
- <builder name="org.eclipse.jdt.core.javabuilder">
- </builder>
- <builder name="org.eclipse.pde.ui.ManifestBuilder">
- </builder>
- <builder name="org.eclipse.pde.ui.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 768324e..0000000
--- a/update/org.eclipse.update.tests.core/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>
-<head>
-<title>About</title>
-<style type="text/css">
-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}
-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
-code { font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup { font-family: arial,helvetica,geneva; font-size: 10px}
-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li { font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect( ); margin-top: 5mm; margin-left: 3mm}
-</style>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<table border="0" cellspacing="5" cellpadding="2" width="100%" >
- <tr>
- <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>
- </tr>
- <tr>
- <td>
-<p>11th December, 2001</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in "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, "Program" will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL "Other License", any modifications, enhancements and/or
-other code and/or documentation "Modifications" uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-</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 a403b4b..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/,webserver/
\ 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 62e46d6..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/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 760a926..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="http://www.eclipse.org/path/feature1/"/>
- <discovery label="Discovery 1" url="http://www.eclipse.org"/>
- <discovery label="Discovery 2" url="http://www.eclipse.org"/>
- </url>
- <plugin download-size="1500" id="org.eclipse.update.core.tests.feature1.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="3.5.6" ws="WS_WIN32"/>
-</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 844a4d7..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® 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® Smalltalk.<br>
-<br>
-<br>
-<br>
- Next came Java™<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 9722798..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="http://www.eclipse.org/path/feature1/"/>
- <discovery label="Discovery 1" url="http://www.eclipse.org"/>
- <discovery label="Discovery 2" url="http://www.eclipse.org"/>
- </url>
- <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="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 38e3575..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/site.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.core.file">
-<description url="info/siteInfo.html"/>
- <feature url="features/helpFeature.jar" type="org.eclipse.update.core.packaged">
- <category name="eclipse/UML"/>
- </feature>
- <feature url="features/org.eclipse.pde.feature_1.0.0.jar" type="org.eclipse.update.core.packaged">
- <category name="eclipse/J2EE"/>
- </feature>
- <feature url="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"/>
- <archive path="plugins/org.eclipse.update.plugin1_1.1.1.jar" url="plugins/org.eclipse.update.plugin1_1.1.1"/>
- <category-def label="IBM WSAD Tools" name="eclipse"/>
- <category-def label="J2EE tools" name="eclipse/J2EE"/>
- <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>
- <category-def label="UML tools" name="eclipse/UML"/>
- <category-def label="Messaging Tools" name="B2B"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FTPLikeSite/site.xml b/update/org.eclipse.update.tests.core/data/FTPLikeSite/site.xml
deleted file mode 100644
index da62e2e..0000000
--- a/update/org.eclipse.update.tests.core/data/FTPLikeSite/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.tests.core.ftp">
- <feature url="features/feature3/features2.jarfile"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml
deleted file mode 100644
index 7832ef8..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0">
- <description>Description</description>
- <copyright>copyright</copyright>
- <license>license</license>
- <url>
- <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>
- <discovery label="Discovery 1" url="http://www.eclipse.org"/>
- <discovery label="Discovery 2" url="http://www.eclipse.org"/>
- </url>
- <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" 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/FeatureTypeExamples/site1/site.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/site.xml
deleted file mode 100644
index 486d119..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.core.file">
- <feature url="features/feature3" type="org.eclipse.update.tests.core.feature1"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile
deleted file mode 100644
index e8d004d..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml
deleted file mode 100644
index fb5fe0e..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.core.file">
- <feature url="features/feature3/features2.jarfile" type="org.eclipse.update.core.packaged"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile
deleted file mode 100644
index e8d004d..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml
deleted file mode 100644
index daf372d..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.core.file">
- <feature url="features/feature3/features2.jarfile" type="org.eclipse.update.core.unknowntype.jar"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar b/update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar
deleted file mode 100644
index 9809713..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar b/update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar
deleted file mode 100644
index e5cb2d5..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html b/update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-</head>
- <body>
-<img src="img/top_titlsm.gif" alt="" width="460" height="50">
-<br>
-<br>
- It started with Smalltalk<br>
- OTI has been building tools for platform-independent OO development since
- 1988. Our ENVY® 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® Smalltalk.<br>
-<br>
-<br>
-<br>
- Next came Java™<br>
- Because of our expertise in OO technology, IBM turned to OTI for a next-generation
- development environment for Java. The result is VisualAge for Java, which
- continues to win awards for its innovative IDE and team support. InfoWorld
- has chosen VisualAge for Java as development tool of the year - year after
- year after year!<br>
-<br>
-<br>
-<br>
- Then pervasive computing<br>
- OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art
- platform for collaborative development of embedded applications and systems
- that are very lean. As the steady stream of press releases attests, VisualAge
- Micro Edition is already licensed to the leading microchip manufacturers,
- microkernel developers, and producers of handheld and consumer devices.<br>
-<br>
-<br>
-<br>
- Now it's Eclipse<br>
- OTI has built the next generation IBM application development tools platform.
- Eclipse is a kind of universal tool platform - an open extensible IDE for
- anything and nothing in particular. The real value comes from tool plug-ins
- that "teach" Eclipse how to work with things - java files, web content,
-graphics, video - almost anything you can imagine. Eclipse allows you to
-independently develop tools that integrate with other people's tools so
-seamlessly you won't know where one tool ends and another starts. The IBM
-supported version of this technology, WebSphere Studio Workbench, will be
-the core of the next generation of IBM and IBM Business Partner e-business
-tools optimized for the WebSphere software platform.<br>
-<br>
-<br>
-<br>
- So what's next?<br>
- OTI continues to deliver object-oriented technology that scales across
- platforms, across teams and across project size. From a mainframe to a
-watch - we're closing in on that vision.<br>
-<br>
-<img src="img/wel_ml.jpg" width="460" height="460" alt="">
-<br>
-<br>
-<br>
-<br>
-<br>
-<br>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml
deleted file mode 100644
index 9722798..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
- <description>Description</description>
- <copyright>copyright</copyright>
- <license>license</license>
- <url>
- <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>
- <discovery label="Discovery 1" url="http://www.eclipse.org"/>
- <discovery label="Discovery 2" url="http://www.eclipse.org"/>
- </url>
- <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="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/Site with space/plugins space/Pde_core.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index 7f05d82..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
- <runtime>
- <library name="junit.jar">
- <export name="*"/>
- </library>
- </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/site.xml b/update/org.eclipse.update.tests.core/data/Site with space/site.xml
deleted file mode 100644
index 54928fb..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/site.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.core.file">
-<description url="info/siteInfo.html"/>
- <feature url="features space/helpFeature.jar" type="org.eclipse.update.core.packaged">
- <category name="eclipse/UML"/>
- </feature>
- <feature url="features space/space feature.jar" type="org.eclipse.update.core.packaged">
- <category name="eclipse/J2EE"/>
- </feature>
- <feature url="install/features space/feature3/">
- <category name="eclipse"/>
- </feature>
- <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins space/help.jar"/>
- <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins space/Pde_core.jar"/>
- <archive path="plugins/org.junit_3.5.0.jar" url="plugins space/junit_3.7.jar"/>
- <archive path="plugins/org.eclipse.update.plugin1_1.1.1.jar" url="plugins space/org.eclipse.update.plugin1_1.1.1"/>
- <category-def label="IBM WSAD Tools" name="eclipse"/>
- <category-def label="J2EE tools" name="eclipse/J2EE"/>
- <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>
- <category-def label="UML tools" name="eclipse/UML"/>
- <category-def label="Messaging Tools" name="B2B"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile b/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile
deleted file mode 100644
index e8d004d..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml b/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml
deleted file mode 100644
index 6f7165a..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.core.http">
- <feature url="features/feature3/features2.jarfile"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar
deleted file mode 100644
index 9809713..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar
deleted file mode 100644
index f592c1d..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-</head>
- <body>
-<img src="img/top_titlsm.gif" alt="" width="460" height="50">
-<br>
-<br>
- It started with Smalltalk<br>
- OTI has been building tools for platform-independent OO development since
- 1988. Our ENVY® 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® Smalltalk.<br>
-<br>
-<br>
-<br>
- Next came Java™<br>
- Because of our expertise in OO technology, IBM turned to OTI for a next-generation
- development environment for Java. The result is VisualAge for Java, which
- continues to win awards for its innovative IDE and team support. InfoWorld
- has chosen VisualAge for Java as development tool of the year - year after
- year after year!<br>
-<br>
-<br>
-<br>
- Then pervasive computing<br>
- OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art
- platform for collaborative development of embedded applications and systems
- that are very lean. As the steady stream of press releases attests, VisualAge
- Micro Edition is already licensed to the leading microchip manufacturers,
- microkernel developers, and producers of handheld and consumer devices.<br>
-<br>
-<br>
-<br>
- Now it's Eclipse<br>
- OTI has built the next generation IBM application development tools platform.
- Eclipse is a kind of universal tool platform - an open extensible IDE for
- anything and nothing in particular. The real value comes from tool plug-ins
- that "teach" Eclipse how to work with things - java files, web content,
-graphics, video - almost anything you can imagine. Eclipse allows you to
-independently develop tools that integrate with other people's tools so
-seamlessly you won't know where one tool ends and another starts. The IBM
-supported version of this technology, WebSphere Studio Workbench, will be
-the core of the next generation of IBM and IBM Business Partner e-business
-tools optimized for the WebSphere software platform.<br>
-<br>
-<br>
-<br>
- So what's next?<br>
- OTI continues to deliver object-oriented technology that scales across
- platforms, across teams and across project size. From a mainframe to a
-watch - we're closing in on that vision.<br>
-<br>
-<img src="img/wel_ml.jpg" width="460" height="460" alt="">
-<br>
-<br>
-<br>
-<br>
-<br>
-<br>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml
deleted file mode 100644
index e3ea684..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site url = "artifacts/">
-<description url="info/siteInfo.html"/>
- <feature url="features/helpFeature.jar" type="org.eclipse.update.core.packaged">
- <category name="eclipse/UML"/>
- </feature>
- <feature url="features/org.eclipse.pde.feature_1.0.0.jar" type="org.eclipse.update.core.packaged">
- <category name="eclipse/J2EE"/>
- </feature>
- <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins/help.jar"/>
- <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins/Pde_core.jar"/>
- <archive path="plugins/org.junit_3.5.0.jar" url="plugins/junit_3.7.jar"/>
- <category-def label="IBM WSAD Tools" name="eclipse"/>
- <category-def label="J2EE tools" name="eclipse/J2EE"/>
- <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>
- <category-def label="UML tools" name="eclipse/UML"/>
- <category-def label="Messaging Tools" name="B2B"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip
deleted file mode 100644
index 1a70b7e..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml
deleted file mode 100644
index 6b454ec..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0">
- <install-handler handler="org.eclipse.update.core.DefaultInstallHandler"/>
- <data download-size="1500" id="file.zip" install-size="1000"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml
deleted file mode 100644
index c41f21d..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.core.file">
-<description url="info/siteInfo.html"/>
- <feature url="install/features/feature3">
- </feature>
- <archive path="features/org.eclipse.update.core.tests.feature3_1.0.0/file.zip" url="file1.zip"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar
deleted file mode 100644
index 74c6eca..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip
deleted file mode 100644
index 1a70b7e..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml
deleted file mode 100644
index 040943c..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.core.file">
-<description url="info/siteInfo.html"/>
- <feature url="features/features3.jar" type="org.eclipse.update.core.packaged">
- </feature>
- <archive path="features/org.eclipse.update.core.tests.feature3_1.0.0/file.zip" url="non data/another file.zip"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/features/features2.jar b/update/org.eclipse.update.tests.core/data/features/features2.jar
deleted file mode 100644
index e8d004d..0000000
--- a/update/org.eclipse.update.tests.core/data/features/features2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar
deleted file mode 100644
index 870a70d..0000000
--- a/update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar b/update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
deleted file mode 100644
index 9dc9463..0000000
--- a/update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar b/update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar
deleted file mode 100644
index 938ddc4..0000000
--- a/update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/install/features/feature3/feature.xml
deleted file mode 100644
index 987c818..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="http://www.eclipse.org/"/>
- <discovery label="Discovery 1" url="http://www.eclipse.org"/>
- <discovery label="Discovery 2" url="http://www.eclipse.org"/>
- </url>
- <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="1.1.1" ws="WS_WIN32"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/feature1.xml b/update/org.eclipse.update.tests.core/data/parsertests/feature1.xml
deleted file mode 100644
index 73d8b31..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/feature1.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.platform"
- version="2.0.0"
- label="Eclipse Platform"
- provider-name="www.eclipse.org"
- image="splash/splash_full.bmp"
- >
-
- <description>
- Eclipse platform feature.
- </description>
-
- <copyright url="notice.html">
- x
-
- <license url="about.html">
- x
- </license>
-
- <url>
- <update url="file:/D:/" label="Eclipse Update Site"/>
- </url>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/reddot.xml b/update/org.eclipse.update.tests.core/data/parsertests/reddot.xml
deleted file mode 100644
index b2e943f..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/reddot.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<site url="info/siteInfo.html">
-<feature url="features/reddot_1.0.0.jar">
-<category name="reddot"/>
-</feature>
-<feature url="features/reddot_2.0.0.jar">
-<category name="reddot"/>
-</feature>
-<archive path="com.reddot.redot_1.0.0" url="plugins/com.reddot.reddot_1.0.0.jar"/>
-<archive path="com.reddot.redot_2.0.0" url="plugins/com.reddot.reddot_2.0.0.jar"/>
-<category-def label="Red Dot Versions" name="reddot">
-<description url="RedDotVersions.html">
-This category contains all of the <currently> available versions of Red Dot feature.
-<![CDATA[<greeting>Hello, world!</greeting>]]>
-</description>
-</category-def>
-</site>
-
-
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml b/update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml
deleted file mode 100644
index 63fc6d9..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<site url="info/siteInfo.html">
-<feature url="features/reddot_1.0.0.jar">
-<category name="reddot"/>
-</feature>
-<feature url="features/reddot_2.0.0.jar">
-<category name="reddot"/>
-</feature>
-<archive path="com.reddot.redot_1.0.0" url="plugins/com.reddot.reddot_1.0.0.jar"/>
-<archive path="com.reddot.redot_2.0.0" url="plugins/com.reddot.reddot_2.0.0.jar"/>
-<category-def label="Red Dot Versions" name="reddot">
-<description url="RedDotVersions.html">
-This category contains all of the <currently> available versions of Red Dot feature.
-</description>
-</category-def>
-</site>
-
-
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site.properties b/update/org.eclipse.update.tests.core/data/parsertests/site.properties
deleted file mode 100644
index 211986b..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-drivers=Required Drivers
-security=Security Fixes
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site.xml b/update/org.eclipse.update.tests.core/data/parsertests/site.xml
deleted file mode 100644
index b40d831..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1" type="org.eclipse.update.core.file">
- <handler>
- <boo class ="unknown"/>
- </handler>
-
- <feature url="features/org.eclipse.test.feature_1.0.0.jar">
- <category name="category1"/>
- </feature>
-
- <feature url="features/features2.jar">
- <category name="category1/subcat1"/>
- <category name="category2"/>
- </feature>
-
- <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">
- <category name="category1"/>
- <category name="category2"/>
- <blah/>
- </feature>
-
- <feature url="features/org.eclipse_test_feature.jar"/>
-
- <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
- <category name="category1"/>
- </feature>
-
- <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
- </feature>
-
- <archive path="plugins/hello" >
- <default/>
- </archive>
-
- <category-def name="category2" label="%security"/>
- <category-def name="category1/subcat1" label="Special Fix"/>
- <category-def name="category1" label="%drivers"/>
-
-
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site2.xml b/update/org.eclipse.update.tests.core/data/parsertests/site2.xml
deleted file mode 100644
index 6ce133d..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site2.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature id="com.ibm.jdt" url="www.eclipse.org/feature3" version="1.0.0">
-
- </feature>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml b/update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml
deleted file mode 100644
index f883ec0..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.tests.core.ftp">
- <feature url="features/feature3/features2.jarfile"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
deleted file mode 100644
index 78f193d..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index 2275ade..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index ea958c7..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index 7f05d82..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
- <runtime>
- <library name="junit.jar">
- <export name="*"/>
- </library>
- </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml
deleted file mode 100644
index 3141af8..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
- <description>Description</description>
- <copyright>copyright</copyright>
- <license>license</license>
- <url>
- <update label="URL to update the feature" url="http://www.eclipse.org/"/>
- <discovery label="Discovery 1" url="http://www.eclipse.org"/>
- <discovery label="Discovery 2" url="http://www.eclipse.org"/>
- </url>
- <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="1.1.1" ws="WS_WIN32"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index e01846c..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
- <runtime>
- <library name="junit.jar">
- <export name="*"/>
- </library>
- </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml
deleted file mode 100644
index 9c707ff..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
- <description>Description</description>
- <copyright>copyright</copyright>
- <license>license</license>
- <url>
- <update label="URL to update the feature" url="http://www.eclipse.org/"/>
- <discovery label="Discovery 1" url="http://www.eclipse.org"/>
- <discovery label="Discovery 2" url="http://www.eclipse.org"/>
- </url>
- <plugin download-size="1500" id="org.eclipse.update.core" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="2.0.0" ws="WS_WIN32"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml
deleted file mode 100644
index e01846c..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
- <runtime>
- <library name="junit.jar">
- <export name="*"/>
- </library>
- </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar b/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/resources.properties b/update/org.eclipse.update.tests.core/data/resources.properties
deleted file mode 100644
index 63efcee..0000000
--- a/update/org.eclipse.update.tests.core/data/resources.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-HTTP_PATH_1=/org.eclipse.update.tests.core.updatetests/UpdateManager2/
-HTTP_PATH_2=/org.eclipse.update.tests.core.updatetests/UpdateManager/
-HTTP_PATH_3=/org.eclipse.update.tests.core.updatetests/Site with space/
\ 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 76053b5..0000000
--- a/update/org.eclipse.update.tests.core/data/site.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.core.file">
-<description url="info/siteInfo.html"/>
- <feature url="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_1.1.1.jar" url="plugins/org.eclipse.update.plugin1_1.1.1"/>
- <category-def label="J2EE tools" name="eclipse/J2EE"/>
- <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>
- <category-def label="UML tools" name="eclipse/UML"/>
- <category-def label="Messaging Tools" name="B2B"/>
- <category-def label="Eclipse Tools" name="eclipse"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/site2/site.xml b/update/org.eclipse.update.tests.core/data/site2/site.xml
deleted file mode 100644
index 39d1c11..0000000
--- a/update/org.eclipse.update.tests.core/data/site2/site.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site url="Info.html" type="org.eclipse.update.core.file">
- <feature url="features/feature1"/>
- <archive path="org.eclipse.update.plugin1" url="plugins/plugin1"/>
- <archive path="org.eclipse.update.archive2" url="plugins/plugin2"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/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 c4ee139..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature1" image="feature1.gif" label="Feature One" nl="en,fr,de" os="OS_WIN32,OS_LINUX" provider-name="Object Technology International" version="1.0.4" ws="WS_WIN32,WS_MOTIF,WS_GTK">
- <description>I believe this is the description of feature 1, well, feature 1 is an exceptional feature that you should install right NOW on your machine... try it.</description>
- <copyright>Ok, now, this is a very very complex Copyright not prepared by a lawyer Copyright (c) the company</copyright>
- <license>#1 Do you accept it #2 you do nto accept it ...Do you accpt it ?</license>
- <url>
- <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>
- <discovery label="Discovery 1" url="http://www.eclipse.org"/>
- <discovery label="Discovery 2" url="http://www.eclipse.org"/>
- </url>
- <plugin download-size="1500" id="org.eclipse.update.core.tests.feature1.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="3.5.6" ws="WS_WIN32"/>
- <plugin download-size="1200" id="org.eclipse.update.core.tests.feature1.plugin2" install-size="978" fragment="false" version="5.0.0"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature1.gif b/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature1.gif
deleted file mode 100644
index 03e30a2..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature1.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/xmls/site1/site.xml b/update/org.eclipse.update.tests.core/data/xmls/site1/site.xml
deleted file mode 100644
index 62c8a65..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" type="org.eclipse.update.core.file">
- <feature id="org.isv.feature3" url="www.eclipse.org/feature3" version="3.4.5">
- <category name="eclipse/UML"/>
- </feature>
- <feature id="org.eclipse.update.core.tests.feature2" url="www.eclipse.org/feature2" version="3.4.6">
- <category name="eclipse/J2EE"/>
- </feature>
- <feature id="org.eclipse.update.core.tests.fature1" url="www.eclipse.org/feature1" version="2.3.5">
- <category name="eclipse/J2EE"/>
- </feature>
- <archive path="org.eclipse.update.plugin1" url="www.eclipse.org/pluign1"/>
- <archive path="org.eclipse.update.archive2" url="www.eclipse.org/plugin2"/>
- <archive path="org.eclipse.update.plugin3" url="www.eclipse.org/plugin3"/>
- <archive path="org.eclipse.unknown.plugin" url="www.eclipse.org/plugins/plugin4"/>
- <archive path="org.eclipse.update.core.tests.feature1.foo1" url="www.eclipse.org/plugin1"/>
- <category-def label="J2EE tools" name="eclipse/J2EE"/>
- <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>
- <category-def label="UML tools" name="eclipse/UML"/>
- <category-def label="Messaging Tools" name="B2B"/>
- <category-def label="Eclipse tools" name="eclipse"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/plugin.properties b/update/org.eclipse.update.tests.core/plugin.properties
deleted file mode 100644
index 5f37ffc..0000000
--- a/update/org.eclipse.update.tests.core/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-name = Install/Update Core Tests
-provider-name = International Business Machines Corp.
\ 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 277ca00..0000000
--- a/update/org.eclipse.update.tests.core/plugin.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- id="org.eclipse.update.tests.core"
- name="%name"
- version="0.0.1"
- provider-name="%provider-name"
- class="org.eclipse.update.tests.UpdateTestsPlugin">
-
-<runtime>
- <library name="updatetests.jar">
- <export name="*"/>
- </library>
-</runtime>
-<requires>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.junit"/>
- <import plugin="org.apache.xerces"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.update.core"/>
- <import plugin="org.eclipse.help"/>
-</requires>
-
-
-<extension
- id="feature1"
- point="org.eclipse.update.core.featureTypes">
- <feature-factory
- class="org.eclipse.update.internal.core.FeatureExecutableFactory">
- </feature-factory>
-</extension>
-<extension
- id="ftp"
- point="org.eclipse.update.core.siteTypes">
- <site-factory
- class="org.eclipse.update.tests.implementation.SiteFTPFactory">
- </site-factory>
-</extension>
-
-</plugin>
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java
deleted file mode 100644
index ef83c65..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.update.tests;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.update.tests.api.AllAPITests;
-import org.eclipse.update.tests.configurations.AllConfigurationsTests;
-import org.eclipse.update.tests.core.boot.AllPlatformConfigurationTests;
-import org.eclipse.update.tests.model.AllModelTests;
-import org.eclipse.update.tests.parser.AllParserTests;
-import org.eclipse.update.tests.reconciliation.AllReconciliationTests;
-import org.eclipse.update.tests.regularInstall.AllRegularInstallTests;
-import org.eclipse.update.tests.regularRemove.AllRegularRemoveTests;
-import org.eclipse.update.tests.types.AllTypesTests;
-import org.eclipse.update.tests.uivalues.AllCoreUITests;
-
-public class AllTests extends TestSuite {
- public AllTests(String name) {
- super(name);
- }
- public static Test suite() throws Exception {
- TestSuite suite = new TestSuite();
- suite.setName("All Update Manager Tests");
- suite.addTest(AllPlatformConfigurationTests.suite());
- suite.addTest(AllRegularInstallTests.suite());
- suite.addTest(AllAPITests.suite());
- suite.addTest(AllModelTests.suite());
- suite.addTest(AllParserTests.suite());
- suite.addTest(AllCoreUITests.suite());
- suite.addTest(AllConfigurationsTests.suite());
- suite.addTest(AllTypesTests.suite());
- suite.addTest(AllRegularRemoveTests.suite());
- //suite.addTest(AllReconciliationTests.suite());
- return suite;
- }
-}
\ No newline at end of file
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 3731f82..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateManagerTestCase.java
+++ /dev/null
@@ -1,120 +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.UpdateManagerPlugin;
-import org.eclipse.update.internal.core.UpdateManagerUtils;
-/**
- * All Help System Test cases must subclass this base Testcase.
- * See SampleTestCase.java for a template.
- */
-
-public abstract class UpdateManagerTestCase extends TestCase {
-
- protected static ResourceBundle bundle;
- protected static String dataPath;
-
- protected static URL SOURCE_FILE_SITE;
- protected static URL SOURCE_HTTP_SITE;
- protected static URL TARGET_FILE_SITE;
-
- private static final String DATA_PATH = "data/";
-
- /**
- * Default Constructor
- */
- public UpdateManagerTestCase(String name) {
- super(name);
- try {
- init();
- } catch (Exception e) {
- fail(e.toString());
- e.printStackTrace();
- }
- }
-
- protected static void init() throws MissingResourceException, IOException, MalformedURLException {
-
- IPluginDescriptor dataDesc = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.update.tests.core");
- URL resolvedURL = Platform.resolve(dataDesc.getInstallURL());
- URL dataURL = new URL(resolvedURL,DATA_PATH);
- dataPath = dataURL.getFile();
- String homePath = (System.getProperty("user.home")).replace(File.separatorChar,'/');
-
- if (bundle == null) {
- ClassLoader l = new URLClassLoader(new URL[] { dataURL }, null);
- bundle = ResourceBundle.getBundle("resources", Locale.getDefault(), l);
- }
-
- try {
- SOURCE_FILE_SITE = new File(dataPath).toURL();
- SOURCE_HTTP_SITE = new URL("http", getHttpHost(),getHttpPort(), bundle.getString("HTTP_PATH_1"));
- TARGET_FILE_SITE = new URL("file",null, homePath +"/target/");
- } catch (Exception e) {
- fail(e.toString());
- e.printStackTrace();
- }
-
- //cleanup target
- File target = new File(homePath + "/target/");
- UpdateManagerUtils.removeFromFileSystem(target);
-
- }
-
- /**
- * Simple implementation of setUp. Subclasses are prevented
- * from overriding this method to maintain logging consistency.
- * umSetUp() should be overriden instead.
- */
- protected final void setUp() throws Exception {
- System.out.println("----- " + this.getName());
- System.out.println(this.getName() + ": setUp...");
- umSetUp();
- }
-
- /**
- * Sets up the fixture, for example, open a network connection.
- * This method is called before a test is executed.
- */
- protected void umSetUp() throws Exception {
- // do nothing.
- }
-
- /**
- * Simple implementation of tearDown. Subclasses are prevented
- * from overriding this method to maintain logging consistency.
- * umTearDown() should be overriden instead.
- */
- protected final void tearDown() throws Exception {
- System.out.println(this.getName() + ": tearDown...\n");
- umTearDown();
- }
-
- /**
- * Tears down the fixture, for example, close a network connection.
- * This method is called after a test is executed.
- */
- protected void umTearDown() throws Exception {
- // do nothing.
- }
-
- protected static String getHttpHost(){
- return UpdateTestsPlugin.getWebAppServerHost();
- }
-
- protected static int getHttpPort(){
- return UpdateTestsPlugin.getWebAppServerPort();
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java
deleted file mode 100644
index 08dea26..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.update.tests;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.core.runtime.*;
-import org.eclipse.help.AppServer;
-import org.eclipse.help.IAppServer;
-import org.eclipse.update.internal.core.UpdateManagerPlugin;
-
-/**
- * manages the startuo and shutown of the
- * web server
- */
-public class UpdateTestsPlugin extends Plugin {
-
- private static String appServerHost = null;
- private static int appServerPort = 0;
- private static UpdateTestsPlugin plugin;
-
- public UpdateTestsPlugin(IPluginDescriptor descriptor) {
- super(descriptor);
- plugin = this;
- }
-
- public static UpdateTestsPlugin getPlugin(){
- return plugin;
- }
-
- /**
- * Called by Platform after loading the plugin
- */
- public void startup() throws CoreException {
- boolean result = AppServer.add("org.eclipse.update.tests.core.updatetests", "org.eclipse.update.tests.core", "webserver");
- appServerHost = AppServer.getHost();
- appServerPort = AppServer.getPort();
-
- String text = "The webServer ";
- text += (result)?"did":"didn't";
- text+= " start ip:"+getWebAppServerHost()+":"+getWebAppServerPort();
-
- System.out.println(text);
- if (!result) {
- IStatus status = new Status(IStatus.ERROR,"org.eclipse.update.tests.core",IStatus.OK,"WebServer not started. Update Tests results are invalid",null);
- throw new CoreException(status);
- }
- }
-
- /**
- * Shuts down this plug-in and discards all plug-in state.
- * @exception CoreException if this method fails to shut down
- * this plug-in
- */
- public void shutdown() throws CoreException {
- AppServer.remove("updatetests", "org.eclipse.update.tests.core");
- super.shutdown();
- }
-
- /**
- * Returns the host identifier for the web app server
- */
- public static String getWebAppServerHost() {
- return appServerHost;
- }
-
- /**
- * Returns the port identifier for the web app server
- */
- public static int getWebAppServerPort() {
- return appServerPort;
- }
-
-}
\ 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 96ec32d..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/AllAPITests.java
+++ /dev/null
@@ -1,40 +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));
-
- return suite;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java
deleted file mode 100644
index 51c26d5..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package org.eclipse.update.tests.api;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.core.FeatureExecutableContentProvider;
-/**
- * Abstract Class that implements most of the behavior of a feature
- * A feature ALWAYS belongs to an ISite
- */
-public class DefaultFeature extends Feature {
-
-
- /**
- * Copy constructor
- */
- public DefaultFeature(IFeature sourceFeature, ISite targetSite) throws CoreException {
- this(targetSite);
- this.setFeatureContentProvider(sourceFeature.getFeatureContentProvider());
- this.setIdentifier(sourceFeature.getVersionedIdentifier());
- this.setLabel(sourceFeature.getLabel());
- this.setUpdateSiteEntry(sourceFeature.getUpdateSiteEntry());
- this.setDiscoverySiteEntries(sourceFeature.getDiscoverySiteEntries());
- this.setProvider(sourceFeature.getProvider());
- this.setDescription(sourceFeature.getDescription());
- this.setCopyright(sourceFeature.getCopyright());
- this.setLicense(sourceFeature.getLicense());
- this.setPluginEntries(sourceFeature.getPluginEntries());
- this.setImage(sourceFeature.getImage());
- }
-
- /**
- * Constructor
- */
- public DefaultFeature(ISite targetSite) throws CoreException {
- super();
- this.setSite(targetSite);
- }
-
-
- /**
- * Sets the identifier
- * @param identifier The identifier to set
- */
- public void setIdentifier(VersionedIdentifier identifier) {
- setFeatureIdentifier(identifier.getIdentifier());
- setFeatureVersion(identifier.getVersion().toString());
- }
-
- /**
- * Sets the discoverySiteEntries
- * @param discoveryInfos The discoveryInfos to set
- */
- public void setDiscoverySiteEntries(IURLEntry[] discoveryInfos) {
- setDiscoverySiteEntryModels((URLEntryModel[]) discoveryInfos);
- }
-
- /**
- * Sets the updateSiteEntry
- * @param updateInfo The updateInfo to set
- */
- public void setUpdateSiteEntry(IURLEntry updateInfo) {
- setUpdateSiteEntryModel((URLEntryModel) updateInfo);
- }
-
- /**
- * Adds a discoveryInfo
- * @param discoveryInfo The discoveryInfo to add
- */
- public void addDiscoverySiteEntry(IURLEntry discoveryInfo) {
- addDiscoverySiteEntryModel((URLEntryModel) discoveryInfo);
- }
-
- /**
- * Sets the description
- * @param description The description to set
- */
- public void setDescription(IURLEntry description) {
- setDescriptionModel((URLEntryModel) description);
- }
-
- /**
- * Sets the copyright
- * @param copyright The copyright to set
- */
- public void setCopyright(IURLEntry copyright) {
- setCopyrightModel((URLEntryModel) copyright);
- }
-
- /**
- * Sets the license
- * @param license The license to set
- */
- public void setLicense(IURLEntry license) {
- setLicenseModel((URLEntryModel) license);
- }
-
- /**
- * Sets the image
- * @param image The image to set
- */
- public void setImage(URL image) {
- setImageURLString(image.toExternalForm());
- }
-
- /**
- * Adds an import
- * @param anImport The import to add
- */
- public void addImport(IImport anImport) {
- if (anImport != null) {
- addImportModel((ImportModel) anImport);
- }
- }
-
-
- /**
- * Sets the pluginEntries
- * @param pluginEntries The pluginEntries to set
- */
- public void setPluginEntries(IPluginEntry[] pluginEntries) {
- if (pluginEntries != null) {
- for (int i = 0; i < pluginEntries.length; i++) {
- addPluginEntry(pluginEntries[i]);
- }
- }
- }
-
-
- /**
- * sets teh URL isf not already present
- */
- public void setURL(URL url) throws CoreException{
- //if (getFeatureContentProvider()==null){
- FeatureContentProvider contentProvider = new FeatureExecutableContentProvider(url);
- this.setFeatureContentProvider(contentProvider);
- contentProvider.setFeature(this);
- //}
- }
-
-
- /*
- * @see IPluginContainer#addPluginEntry(IPluginEntry)
- */
- public void addPluginEntry(IPluginEntry pluginEntry) {
- if (pluginEntry != null) {
- addPluginEntryModel((PluginEntryModel) pluginEntry);
- }
- }
-
- /*
- * @see IFeature#addNonPluginEntry(INonPluginEntry)
- */
- public void addNonPluginEntry(INonPluginEntry dataEntry) {
- if (dataEntry != null) {
- addNonPluginEntryModel((NonPluginEntryModel) dataEntry);
- }
- }
-
- }
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java
deleted file mode 100644
index 3b6de73..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.update.tests.api;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.update.core.URLEntry;
-
-/**
- * Wrapper around URLEntry
- */
-public class MyURLEntry extends URLEntry {
-
- public MyURLEntry(String annotation, URL url) throws MalformedURLException {
- super();
- setAnnotation(annotation);
- if (url!=null) {
- setURLString(url.toExternalForm());
- resolve(null,null);
- }
- }
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java
deleted file mode 100644
index aad8c51..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java
+++ /dev/null
@@ -1,202 +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.core.FeatureReference;
-import org.eclipse.update.internal.core.UpdateManagerUtils;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-
-
-public class TestDefaultExecutableFeatureAPI extends UpdateManagerTestCase {
-
- private DefaultFeature remoteFeature=null;
-
- /**
- * Test the testFeatures()
- */
- public TestDefaultExecutableFeatureAPI(String arg0) {
- super(arg0);
- }
-
- /**
- * the feature to test
- */
- private DefaultFeature getFeature() throws MalformedURLException, CoreException {
- if (remoteFeature == null){
-
- ISite site = SiteManager.getSite(SOURCE_FILE_SITE);
- URL url = UpdateManagerUtils.getURL(site.getURL(),"install/features/feature3/",null);
- FeatureReference ref = new FeatureReference();
- ref.setSite(site);
- ref.setURL(url);
- IFeature feature = ref.getFeature();
- remoteFeature = new DefaultFeature(feature,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 DefaultFeature(site);
- remoteFeature.setURL(url1);
- remoteFeature.setIdentifier(ident1);
- assertEquals(ident1.toString(),remoteFeature.getVersionedIdentifier().toString());
-
- URL url2 = UpdateManagerUtils.getURL(site.getURL(),id2,null);
- remoteFeature = new DefaultFeature(site);
- remoteFeature.setURL(url2);
- remoteFeature.setIdentifier(ident2);
- assertEquals(ident2.toString(),remoteFeature.getVersionedIdentifier().toString());
-
-
- }
-
-
- /**
- * @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 DefaultFeature(site);
- remoteFeature.setURL(id);
- 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 !
- DefaultFeature feature = getFeature();
- feature.setUpdateSiteEntry(new MyURLEntry(label, url));
- assertEquals(url,feature.getUpdateSiteEntry().getURL());
- assertEquals(label,feature.getUpdateSiteEntry().getAnnotation());
-
- }
-
-
-
- /**
- * @see IFeature#testDiscoveryURLs()
- */
- public void testDiscoveryURLs() throws CoreException,MalformedURLException {
- IURLEntry[] urlInfo = new MyURLEntry[2];
- URL[] url = new URL[2];
- String[] label = new String[2];
- try {
- url[0] = new URL("http://www.oti.com/");
- url[1] = new URL("http://eclipse.org/");
- label[0] = "OTI Site";
- label[1] = "Eclipse Site";
- } catch (java.net.MalformedURLException e){} // impossible eh !
- DefaultFeature feature = getFeature();
- for (int i=0;i<2;i++){
- urlInfo[i] = new MyURLEntry(label[i],url[i]);
- }
- feature.setDiscoverySiteEntries(urlInfo);
- for (int i=0; i<feature.getDiscoverySiteEntries().length;i++){
- assertEquals(urlInfo[i],feature.getDiscoverySiteEntries()[i]);
- }
-
- }
-
-
- /**
- * @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";
- IURLEntry info = new MyURLEntry(desc,null);
- DefaultFeature feature = getFeature();
- feature.setDescription(info);
- assertEquals(desc,feature.getDescription().getAnnotation());
- }
-
- /**
- * @see IFeature#testDescription()
- */
- public void testDescription1() throws CoreException, MalformedURLException {
- URL url = null;
- try {
- url = new URL("http://www.oti.com");
- } catch (MalformedURLException e){/*pretty impossible*/}
- IURLEntry info = new MyURLEntry(null,url);
- DefaultFeature feature = getFeature();
- feature.setDescription(info);
- assertEquals(url,feature.getDescription().getURL());
- }
-
- /**
- * @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";
- IURLEntry info = new MyURLEntry(desc,url);
- DefaultFeature feature = getFeature();
- feature.setDescription(info);
- String result = feature.getDescription().getAnnotation();
- assertEquals(desc,result);
- assertEquals(url,feature.getDescription().getURL());
- }
-
-
-
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java
deleted file mode 100644
index 214f28d..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java
+++ /dev/null
@@ -1,195 +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.UpdateManagerUtils;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-
-
-public class TestDefaultPackageFeatureAPI extends UpdateManagerTestCase {
-
- private DefaultFeature remoteFeature=null;
-
- /**
- * Test the testFeatures()
- */
- public TestDefaultPackageFeatureAPI(String arg0) {
- super(arg0);
- }
-
- /**
- * the feature to test
- */
- private DefaultFeature getFeature() throws MalformedURLException, CoreException {
- if (remoteFeature == null){
- ISite site = SiteManager.getSite(SOURCE_FILE_SITE);
- URL id = UpdateManagerUtils.getURL(site.getURL(),"org.eclipse.update.core.feature1_1.0.0.jar",null);
- remoteFeature = new DefaultFeature(site);
- remoteFeature.setURL(id);
- }
- return remoteFeature;
- }
-
- /**
- * @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 DefaultFeature(site);
- remoteFeature.setURL(url1);
- remoteFeature.setIdentifier(ident1);
- assertEquals(ident1.toString(),remoteFeature.getVersionedIdentifier().toString());
-
- URL url2 = UpdateManagerUtils.getURL(site.getURL(),id2,null);
- remoteFeature = new DefaultFeature(site);
- remoteFeature.setURL(url2);
- remoteFeature.setIdentifier(ident2);
- assertEquals(ident2.toString(),remoteFeature.getVersionedIdentifier().toString());
- }
-
-
- /**
- * @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 DefaultFeature(site);
- remoteFeature.setURL(id);
- 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 !
- DefaultFeature feature = getFeature();
- feature.setUpdateSiteEntry(new MyURLEntry(label, url));
- assertEquals(url,feature.getUpdateSiteEntry().getURL());
- assertEquals(label,feature.getUpdateSiteEntry().getAnnotation());
-
- }
-
-
-
- /**
- * @see IFeature#testDiscoveryURLs()
- */
- public void testDiscoveryURLs() throws CoreException, MalformedURLException {
- IURLEntry[] urlInfo = new URLEntry[2];
- URL[] url = new URL[2];
- String[] label = new String[2];
- try {
- url[0] = new URL("http://www.oti.com/");
- url[1] = new URL("http://eclipse.org/");
- label[0] = "OTI Site";
- label[1] = "Eclipse Site";
- } catch (java.net.MalformedURLException e){} // impossible eh !
- DefaultFeature feature = getFeature();
- for (int i=0;i<2;i++){
- urlInfo[i] = new MyURLEntry(label[i],url[i]);
- }
- feature.setDiscoverySiteEntries(urlInfo);
- for (int i=0; i<feature.getDiscoverySiteEntries().length;i++){
- assertEquals(urlInfo[i],feature.getDiscoverySiteEntries()[i]);
- }
-
-
- }
-
-
- /**
- * @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";
- IURLEntry info = new MyURLEntry(desc,null);
- DefaultFeature feature = getFeature();
- feature.setDescription(info);
- assertEquals(desc,feature.getDescription().getAnnotation());
- }
-
- /**
- * @see IFeature#testDescription()
- */
- public void testDescription1() throws CoreException, MalformedURLException {
- URL url = null;
- try {
- url = new URL("http://www.oti.com");
- } catch (MalformedURLException e){/*pretty impossible*/}
- IURLEntry info = new MyURLEntry(null,url);
- DefaultFeature feature = getFeature();
- feature.setDescription(info);
- assertEquals(url,feature.getDescription().getURL());
- }
-
- /**
- * @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";
- IURLEntry info = new MyURLEntry(desc,url);
- DefaultFeature feature = getFeature();
- feature.setDescription(info);
- assertEquals(desc,feature.getDescription().getAnnotation());
- assertEquals(url,feature.getDescription().getURL());
- }
-
-
-
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java
deleted file mode 100644
index 3cf093b..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java
+++ /dev/null
@@ -1,83 +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.core.Category;
-import org.eclipse.update.core.model.CategoryModel;
-import org.eclipse.update.core.model.SiteModel;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.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/"));
- IArchiveReference[] info = site.getArchives();
-
- if (info.length<=0){
- fail("no plugins in site: "+site.getURL().toExternalForm());
- }
-
- boolean found1 = false;
- boolean found2 = false;
- String name1= "plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar";
- String name2 = "plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar";
-
- for (int i =0; i<info.length; i++){
- if (info[i].getPath().equals(name1)) found1 = true;
- if (info[i].getPath().equals(name2)) found2 = true;
- }
-
- if (!found1 || !found2){
- fail("Cannot find plugin : org.eclipse.update.core.tests.feature1.plugin2 version 5.0.0 and 5.0.1 on the site, by parsing file system");
- }
-
-
- }
-
-
- public void testCategories() throws Exception {
-
- ISite site = SiteManager.getSite(SOURCE_FILE_SITE);
-
- ICategory category = new Category("category","Label of category");
-
- ((SiteModel)site).addCategoryModel((CategoryModel)category);
-
- ICategory[] categories = site.getCategories();
- boolean found = false;
- for (int index = 0; index < categories.length; index++) {
- ICategory element = categories[index];
- if (element.getName().equals("category")) found = true;
- }
- if (!found) fail("cannot find category 'category' in site");
-
- IFeatureReference ref = new FeatureReference();
- ref.setSite(site);
- ref.addCategory(category);
- categories = ref.getCategories();
- found = false;
- for (int index = 0; index < categories.length; index++) {
- ICategory element = categories[index];
- if (element.getName().equals("category")) found = true;
- }
- if (!found) fail("cannot find category 'category' in feature");
-
- }
-
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java
deleted file mode 100644
index 988363c..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java
+++ /dev/null
@@ -1,71 +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.UpdateManagerUtils;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestPluginContainerAPI extends UpdateManagerTestCase {
-
- private Site site;
- private DefaultFeature feature;
-
- /**
- * the Site to test
- */
- private Site getSite() throws CoreException {
- if (site == null) {
-
- site = (Site)SiteManager.getSite(SOURCE_FILE_SITE);
-
- }
- return site;
- }
-
- /**
- * the feature to test
- */
- private DefaultFeature getFeature() throws MalformedURLException, CoreException {
- if (feature == null) {
- ISite site = getSite();
- URL id = UpdateManagerUtils.getURL(site.getURL(),"org.eclipse.update.core.feature1_1.0.0.jar",null);
- feature = new DefaultFeature(site);
- feature.setURL(id);
- }
- return feature;
- }
-
- /**
- * Test the getFeatures()
- */
- public TestPluginContainerAPI(String arg0) throws CoreException {
- super(arg0);
- }
-
- public void testAbstractFeature() throws CoreException, MalformedURLException {
- PluginEntry pluginEntry = new PluginEntry();
- pluginEntry.setVersionedIdentifier(new VersionedIdentifier("id", "ver"));
- Feature _feature = getFeature();
- ((DefaultFeature)_feature).addPluginEntry(pluginEntry);
- assertEquals(_feature.getPluginEntryCount(), 1);
- assertEquals(_feature.getPluginEntries()[0], pluginEntry);
-
- }
-
- public void testAbstactSite() throws CoreException {
- PluginEntry pluginEntry = new PluginEntry();
- pluginEntry.setVersionedIdentifier(new VersionedIdentifier("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 94c5632..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteAPI.java
+++ /dev/null
@@ -1,33 +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.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_HTTP_SITE);
- assertEquals(site2.getURL(),new URL("http", getHttpHost(),getHttpPort(), bundle.getString("HTTP_PATH_1")+"site.xml"));
-
- }
-
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.java
deleted file mode 100644
index e636308..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.java
+++ /dev/null
@@ -1,69 +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.configuration.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestSiteManagerAPI extends UpdateManagerTestCase {
-
- /**
- * Test the getFeatures()
- */
- public TestSiteManagerAPI(String arg0) {
- super(arg0);
- }
-
- public void testFile() throws Exception {
- ISite fileSite = SiteManager.getSite(TARGET_FILE_SITE);
- String site = fileSite.getURL().toExternalForm();
- assertEquals(TARGET_FILE_SITE.toExternalForm(), site);
- }
-
- public void testUnknown() throws Exception {
- URL url = new URL("ftp://255.255.255.255/");
- try {
- SiteManager.getSite(url);
- // FIXME apparently works !!!!!
- //fail("Connected to ftp://255.255.255.255/, should not happen");
- } catch (CoreException e){
- // expected
- }
- }
-
- public void testLocalSite() throws Exception {
-
- ILocalSite site = SiteManager.getLocalSite();
- IConfiguredSite[] instSites = site.getCurrentConfiguration().getConfiguredSites();
- assertTrue(instSites.length>0);
- System.out.println("Local Site:"+instSites[0].getSite().getURL().toExternalForm());
-
- ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE);
- IFeature remoteFeature = remoteSite.getFeatureReferences()[0].getFeature();
- instSites[0].getSite().install(remoteFeature,null,null);
-
- IFeatureReference[] features = site.getCurrentConfiguration().getConfiguredSites()[0].getSite().getFeatureReferences();
- assertTrue(features.length>0);
-
- //cleanup
- File file = new File(instSites[0].getSite().getURL().getFile()+File.separator+Site.DEFAULT_INSTALLED_FEATURE_PATH+remoteFeature.getVersionedIdentifier());
- UpdateManagerUtils.removeFromFileSystem(file);
- file = new File(instSites[0].getSite().getURL().getFile()+File.separator+Site.DEFAULT_PLUGIN_PATH+"org.eclipse.update.plugin1_1.1.1");
- UpdateManagerUtils.removeFromFileSystem(file);
- File localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)site.getCurrentConfiguration()).getURL().getFile()));
-
-
- }
-
-
-}
-
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 ade0fcd..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestUpdateManagerUtilsAPI.java
+++ /dev/null
@@ -1,227 +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);
-
- }
-
-
-
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/AllConfigurationsTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/AllConfigurationsTests.java
deleted file mode 100644
index e24d856..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/AllConfigurationsTests.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java
deleted file mode 100644
index ff1e277..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.update.tests.configurations;
-/*
- * (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.configuration.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.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.internal.model.*;
-import org.eclipse.update.internal.model.ConfiguredSiteModel;
-import org.eclipse.update.internal.model.InstallConfigurationModel;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import org.eclipse.update.tests.regularInstall.*;
-
-public class TestBackward extends UpdateManagerTestCase {
-
- /**
- * Test the getFeatures()
- */
- public TestBackward(String arg0) {
- super(arg0);
- }
-
- public void testSimpleBackward() throws Exception {
-
- // cleanup
- SiteLocal siteLocal = ((SiteLocal)SiteManager.getLocalSite());
- File localFile = new File(new URL(siteLocal.getLocationURL(),SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)siteLocal.getCurrentConfiguration()).getURL().getFile()));
- InternalSiteManager.localSite=null;
-
- ILocalSite site = SiteManager.getLocalSite();
- ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE);
- IFeatureReference featureRef = remoteSite.getFeatureReferences()[0];
-
- IInstallConfiguration oldInstallConfig = site.getCurrentConfiguration();
- IConfiguredSite oldConfigSite = oldInstallConfig.getConfiguredSites()[0];
- oldConfigSite.install(featureRef.getFeature(),null,null);
- site.save();
-
-
- // Activity -> InstallConfig
- IInstallConfiguration current = site.getCurrentConfiguration();
- IActivity activity = current.getActivities()[0];
- assertTrue(activity.getInstallConfiguration().equals(current));
-
- // ConfigSite->InstallConfig
- IConfiguredSite newConfigSite = current.getConfiguredSites()[0];
- assertTrue(newConfigSite.getInstallConfiguration().equals(current));
-
- // cleanup
- localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),SiteLocal.DEFAULT_CONFIG_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
-
- }
-
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java
deleted file mode 100644
index 89cf454..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package org.eclipse.update.tests.configurations;
-/*
- * (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.configuration.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.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.internal.model.*;
-import org.eclipse.update.internal.model.ConfiguredSiteModel;
-import org.eclipse.update.internal.model.InstallConfigurationModel;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import org.eclipse.update.tests.regularInstall.*;
-
-public class TestRevert extends UpdateManagerTestCase {
-
- /**
- * Test the getFeatures()
- */
- public TestRevert(String arg0) {
- super(arg0);
- }
-
- public void testSimpleRevertInstall() throws Exception {
-
- // cleanup
- SiteLocal siteLocal = ((SiteLocal)SiteManager.getLocalSite());
- File localFile = new File(new URL(siteLocal.getLocationURL(),SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)siteLocal.getCurrentConfiguration()).getURL().getFile()));
- InternalSiteManager.localSite=null;
-
- ILocalSite site = SiteManager.getLocalSite();
- ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE);
- IFeatureReference featureRef = remoteSite.getFeatureReferences()[0];
- IFeatureReference featureRef2 = remoteSite.getFeatureReferences()[1];
- IFeature feature = featureRef.getFeature();
-
- IInstallConfiguration old = site.getCurrentConfiguration();
- ConfigurationPolicy excludepolicy = new ConfigurationPolicy();
- excludepolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_EXCLUDE);
- IConfiguredSite oldConfigSite = old.getConfiguredSites()[0];
- excludepolicy.setConfiguredSite(oldConfigSite);
- ((ConfiguredSiteModel)oldConfigSite).setConfigurationPolicyModel((ConfigurationPolicyModel)excludepolicy);
-
- IInstallConfiguration newConfig = site.cloneCurrentConfiguration();
- newConfig.setLabel("new Label");
- IConfiguredSite configSite = newConfig.getConfiguredSites()[0];
- if (!configSite.getSite().equals(oldConfigSite.getSite())) fail("Config sites are not equals");
- site.addConfiguration(newConfig);
- IFeatureReference installedFeature = configSite.install(feature,null,null);
- site.save();
-
- configSite.unconfigure(installedFeature.getFeature());
-
- IFeature feature2 = featureRef2.getFeature();
- IInstallConfiguration newConfig2 = site.cloneCurrentConfiguration();
- //newConfig.setLabel("new Label");
- IConfiguredSite anotherConfigSite = newConfig2.getConfiguredSites()[0];
- if (!anotherConfigSite.getSite().equals(oldConfigSite.getSite())) fail("Config sites are not equals");
- site.addConfiguration(newConfig2);
- anotherConfigSite.install(feature2,null,null);
- site.save();
-
- site.revertTo(old,null,null);
- site.save();
-
- // check
- // there are 4 configuration
- String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();
- File file = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),"Config"+time+".xml").getFile());
- assertTrue("new configuration does not exist", file.exists());
-
-
- // teh current one points to a real fature
- // does not throw error.
- IConfiguredSite newConfigSite = null;
- IConfiguredSite[] sites = site.getCurrentConfiguration().getConfiguredSites();
- for (int i = 0; i < sites.length; i++) {
- if (sites[i].getSite().equals(oldConfigSite.getSite())){
- newConfigSite = sites[i];
- break;
- }
- }
- if (newConfigSite==null) fail("Cannot find configuration site");
-
- int oldNumber = oldConfigSite.getConfiguredFeatures().length;
- int newNumber = newConfigSite.getConfiguredFeatures().length;
- assertTrue("Wrong number of configured features",oldNumber==newNumber);
-
- // test only 2 install config in local site
- assertTrue("wrong number of unconfigured features",((ConfiguredSite)newConfigSite).getConfigurationPolicy().getUnconfiguredFeatures().length==2);
-
- // cleanup
- localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),SiteLocal.DEFAULT_CONFIG_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(file);
- time = ""+newConfig.getCreationDate().getTime();
- file = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),"DefaultConfig"+time+".xml").getFile());
- UpdateManagerUtils.removeFromFileSystem(file);
- time = ""+newConfig2.getCreationDate().getTime();
- file = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),"DefaultConfig"+time+".xml").getFile());
- UpdateManagerUtils.removeFromFileSystem(file);
- }
-
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java
deleted file mode 100644
index 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 b33f3bd..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgAPI.java
+++ /dev/null
@@ -1,206 +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.BootLoader;
-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 = BootLoader.getPlatformConfiguration(null);
- } catch (IOException e) {
- Assert.fail("0.0.0 "+e.toString());
- }
- ISiteEntry[] dflt = cfig.getConfiguredSites();
- Assert.assertEquals("0.0.1",dflt.length,0);
-
- // policy tests
- ISitePolicy p1 = cfig.createSitePolicy(ISitePolicy.USER_INCLUDE, null);
- Assert.assertEquals("1.0.0",p1.getType(),ISitePolicy.USER_INCLUDE);
- Assert.assertEquals("1.0.1",p1.getList().length,0);
- p1.setList(new String[] {"first"});
- Assert.assertEquals("1.0.2",p1.getList().length,1);
- Assert.assertEquals("1.0.3",p1.getList()[0],"first");
-
- ISitePolicy p2 = cfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, new String[0]);
- Assert.assertEquals("1.1.0",p2.getType(),ISitePolicy.USER_EXCLUDE);
- Assert.assertEquals("1.1.1",p2.getList().length,0);
- p2.setList(new String[] {"first", "second"});
- Assert.assertEquals("1.1.2",p2.getList().length,2);
- Assert.assertEquals("1.1.3",p2.getList()[1],"second");
-
- // create some urls
- URL u1 = null;
- URL u2 = null;
-
- URL u4 = null;
- try {
- u1 = new URL("file:d:/temp/");
- u2 = new URL("file://localhost/temp/");
- new URL("http://some.server/temp/");
- u4 = new URL("http://bad.url");
- } catch (MalformedURLException e) {
- Assert.fail("2.0.0 unable to create URL "+e);
- }
-
- // site creation tests
- ISiteEntry s1 = cfig.createSiteEntry(u1,p2);
- Assert.assertEquals("3.0.0",s1.getURL(),u1);
- Assert.assertEquals("3.0.1",s1.getSitePolicy(),p2);
- s1.setSitePolicy(p1);
- Assert.assertEquals("3.0.2",s1.getSitePolicy(),p1);
-
- ISiteEntry s2 = cfig.createSiteEntry(u2,p1);
- Assert.assertEquals("3.1.0",s2.getURL(),u2);
- Assert.assertEquals("3.1.1",s2.getSitePolicy(),p1);
- s2.setSitePolicy(p2);
- Assert.assertEquals("3.1.2",s2.getSitePolicy(),p2);
-
- // configure site tests
- Assert.assertEquals("3.3.0",cfig.getConfiguredSites().length,0);
- cfig.configureSite(s1);
- Assert.assertEquals("3.3.1",cfig.getConfiguredSites().length,1);
- cfig.configureSite(s2);
- Assert.assertEquals("3.3.2",cfig.getConfiguredSites().length,2);
-
- // lookup site tests
- Assert.assertEquals("3.4.0",cfig.findConfiguredSite(u1),s1);
- Assert.assertEquals("3.4.1",cfig.findConfiguredSite(u2),s2);
- Assert.assertNull("3.4.3",cfig.findConfiguredSite(u4));
-
- // unconfigure site tests
- cfig.unconfigureSite(s1);
- Assert.assertEquals("3.5.0",cfig.getConfiguredSites().length,1);
- Assert.assertNull("3.5.1",cfig.findConfiguredSite(u1));
- cfig.unconfigureSite(s2);
- Assert.assertEquals("3.5.2",cfig.getConfiguredSites().length,0);
- Assert.assertNull("3.5.3",cfig.findConfiguredSite(u2));
- }
-
- public void testSaveRestore() throws Exception {
-
- Assert.assertNotNull("0.0 Unable to obtain temp directory",tempDir);
-
- // get new config object
- IPlatformConfiguration cfig = null;
- try {
- cfig = BootLoader.getPlatformConfiguration(null);
- } catch (IOException e) {
- Assert.fail("0.0.0 "+e.toString());
- }
- ISiteEntry[] sites = cfig.getConfiguredSites();
- Assert.assertEquals("0.0.1",sites.length,0);
-
- // create policies
- ISitePolicy p1 = cfig.createSitePolicy(ISitePolicy.USER_INCLUDE, null);
- ISitePolicy p2 = cfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, new String[0]);
- ISitePolicy p3 = cfig.createSitePolicy(ISitePolicy.USER_INCLUDE, new String[] {"first"});
- ISitePolicy p4 = cfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, new String[] {"first", "second"});
-
- // create some urls
- URL u1 = null;
- URL u2 = null;
- URL u3 = null;
- URL u4 = null;
-
- try {
- u1 = new URL("file:d:/temp/");
- u2 = new URL("file://localhost/temp/");
- u3 = new URL("http://some.server/temp/");
- u4 = new URL("http://another.server/temp/");
- new URL("http://one.more.server/temp/");
- } catch (MalformedURLException e) {
- Assert.fail("1.0 unable to create URL "+e);
- }
-
- // create and configure sites
- ISiteEntry s1 = cfig.createSiteEntry(u1,p1);
- cfig.configureSite(s1);
- ISiteEntry s2 = cfig.createSiteEntry(u2,p2);
- cfig.configureSite(s2);
- ISiteEntry s3 = cfig.createSiteEntry(u3,p3);
- cfig.configureSite(s3);
- ISiteEntry s4 = cfig.createSiteEntry(u4,p4);
- cfig.configureSite(s4);
- sites = cfig.getConfiguredSites();
- Assert.assertEquals("1.1",sites.length,4);
-
- // do save
- try {
- cfig.save();
- Assert.fail("2.0 was expecting IOException");
- } catch (IOException e) {
- }
-
- URL cfigURL = null;
- try {
- cfigURL = new URL("file:"+tempDir+(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
- try {
- BootLoader.getPlatformConfiguration(cfigURL);
- } catch (IOException e) {
- Assert.fail("2.3 "+e.toString());
- }
- ISiteEntry[] newSites = cfig.getConfiguredSites();
- Assert.assertEquals("2.4",newSites.length,4);
-
- // check what we've got
- Assert.assertEquals("3.0.1",sites[0].getURL(),newSites[0].getURL());
- Assert.assertEquals("3.0.2",sites[0].getSitePolicy().getType(),newSites[0].getSitePolicy().getType());
- Assert.assertEquals("3.0.3",sites[0].getSitePolicy().getList(),newSites[0].getSitePolicy().getList());
-
- Assert.assertEquals("3.1.1",sites[1].getURL(),newSites[1].getURL());
- Assert.assertEquals("3.1.2",sites[1].getSitePolicy().getType(),newSites[1].getSitePolicy().getType());
- Assert.assertEquals("3.1.3",sites[1].getSitePolicy().getList(),newSites[1].getSitePolicy().getList());
-
- Assert.assertEquals("3.2.1",sites[2].getURL(),newSites[2].getURL());
- Assert.assertEquals("3.2.2",sites[2].getSitePolicy().getType(),newSites[2].getSitePolicy().getType());
- Assert.assertEquals("3.2.3",sites[2].getSitePolicy().getList(),newSites[2].getSitePolicy().getList());
-
- Assert.assertEquals("3.3.1",sites[3].getURL(),newSites[3].getURL());
- Assert.assertEquals("3.3.2",sites[3].getSitePolicy().getType(),newSites[3].getSitePolicy().getType());
- Assert.assertEquals("3.3.3",sites[3].getSitePolicy().getList(),newSites[3].getSitePolicy().getList());
-
- }
-
- public void testCurrentConfiguration() throws Exception {
-
- Assert.assertNotNull("0.0 Unable to obtain temp directory",tempDir);
-
- // get new config object
- IPlatformConfiguration cfig = null;
- cfig = BootLoader.getCurrentPlatformConfiguration();
- cfig.getPluginPath();
- cfig.save();
- }
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java
deleted file mode 100644
index b9b846d..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java
+++ /dev/null
@@ -1,31 +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.BootLoader;
-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;
- cfig = BootLoader.getCurrentPlatformConfiguration();
- 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/implementation/SiteFTP.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTP.java
deleted file mode 100644
index 7bae9bd..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTP.java
+++ /dev/null
@@ -1,228 +0,0 @@
-package org.eclipse.update.tests.implementation;
-
-import java.io.InputStream;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.IFeature;
-import org.eclipse.update.core.IFeatureReference;
-import org.eclipse.update.core.IPluginEntry;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.IURLEntry;
-import org.eclipse.update.internal.core.*;
-
-public class SiteFTP implements ISite {
-
- private URL url;
- public SiteFTP(URL url){
- this.url = url;
- }
-
- /*
- * @see ISite#getFeatureReferences()
- */
- public IFeatureReference[] getFeatureReferences() {
- return null;
- }
-
- /*
- * @see ISite#install(IFeature, FeatureVerification verifier,IProgressMonitor)
- */
- public IFeatureReference install(IFeature feature,IVerificationListener verificationListener, IProgressMonitor monitor) throws CoreException {
- return null;
- }
-
- /*
- * @see ISite#remove(IFeature, IProgressMonitor)
- */
- public void remove(IFeature feature, IProgressMonitor monitor) throws CoreException {
- }
-
- /*
- * @see ISite#addSiteChangedListener(IConfiguredSiteChangedListener)
- */
- public void addSiteChangedListener(IConfiguredSiteChangedListener listener) {
- }
-
- /*
- * @see ISite#removeSiteChangedListener(IConfiguredSiteChangedListener)
- */
- public void removeSiteChangedListener(IConfiguredSiteChangedListener listener) {
- }
-
- /*
- * @see ISite#getURL()
- */
- public URL getURL() {
- return url;
- }
-
- /*
- * @see ISite#getType()
- */
- public String getType() {
- return "org.eclipse.update.tests.ftp";
- }
-
- /*
- * @see ISite#getCategories()
- */
- public ICategory[] getCategories() {
- return null;
- }
-
- /*
- * @see ISite#getArchives()
- */
- public IArchiveReference[] getArchives() {
- return null;
- }
-
- /*
- * @see ISite#addCategory(ICategory)
- */
- public void addCategory(ICategory category) {
- }
-
- /*
- * @see ISite#save()
- */
- public void save() throws CoreException {
- }
-
- /*
- * @see IPluginContainer#getPluginEntries()
- */
- public IPluginEntry[] getPluginEntries() {
- return null;
- }
-
- /*
- * @see IPluginContainer#getPluginEntryCount()
- */
- public int getPluginEntryCount() {
- return 0;
- }
-
- /*
- * @see ISite#getDownloadSizeFor(IFeature)
- */
- public long getDownloadSizeFor(IFeature feature) {
- return 0;
- }
-
- /*
- * @see ISite#getInstallSizeFor(IFeature)
- */
- public long getInstallSizeFor(IFeature feature) {
- return 0;
- }
-
-
- /*
- * @see IPluginContainer#store(IPluginEntry, String, InputStream)
- */
- public void store(IPluginEntry entry, String name, InputStream inStream) throws CoreException {
- }
-
- /*
- * @see IAdaptable#getAdapter(Class)
- */
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- /*
- * @see IPluginContainer#remove(IPluginEntry)
- */
- public void remove(IPluginEntry entry) throws CoreException {
- }
-
- /*
- * @see ISite#setSiteContentConsumer(ISiteContentConsumer)
- */
- public void setSiteContentConsumer(ISiteContentConsumer contentConsumer) {
- }
-
- /*
- * @see ISite#setSiteContentProvider(ISiteContentProvider)
- */
- public void setSiteContentProvider(ISiteContentProvider siteContentProvider) {
- }
-
- /*
- * @see ISite#getSiteContentProvider()
- */
- public ISiteContentProvider getSiteContentProvider() {
- return null;
- }
-
- /*
- * @see ISite#getDefaultPackagedFeatureType()
- */
- public String getDefaultPackagedFeatureType() {
- return null;
- }
-
- /*
- * @see ISite#store(IFeature, String, InputStream, IProgressMonitor)
- */
- public void store(IFeature feature, String name, InputStream inStream, IProgressMonitor monitor) throws CoreException {
- }
-
-
- /*
- * @see IPluginContainer#remove(IPluginEntry, IProgressMonitor)
- */
- public void remove(IPluginEntry entry, IProgressMonitor monitor) throws CoreException {
- }
-
- /*
- * @see ISite#getCategory(String)
- */
- public ICategory getCategory(String key) {
- return null;
- }
-
- /*
- * @see ISite#createSiteContentConsumer(IFeature)
- */
- public ISiteContentConsumer createSiteContentConsumer(IFeature feature) throws CoreException {
- return null;
- }
-
- /*
- * @see ISite#getFeatureReference(IFeature)
- */
- public IFeatureReference getFeatureReference(IFeature feature) {
- return null;
- }
-
- /*
- * @see ISite#getDescription()
- */
- public IURLEntry getDescription() {
- return null;
- }
-
- /*
- * @see ISite#getPluginEntriesOnlyReferencedBy(IFeature)
- */
- public IPluginEntry[] getPluginEntriesOnlyReferencedBy(IFeature feature) throws CoreException {
- return null;
- }
-
- /**
- * @see ISite#addPluginEntry(IPluginEntry)
- */
- public void addPluginEntry(IPluginEntry pluginEntry) {
- }
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java
deleted file mode 100644
index 5c4c10f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.update.tests.implementation;
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.core.SiteURLContentProvider;
-import org.eclipse.update.internal.core.URLEncoder;
-
-public class SiteFTPFactory extends SiteModelFactory implements ISiteFactory {
-
- public static final String FILE = "a/b/c/";
-
- /*
- * @see ISiteFactory#createSite(URL, boolean)
- */
- public ISite createSite(URL url)
- throws CoreException, InvalidSiteTypeException {
- ISite site = null;
- InputStream siteStream = null;
-
- try {
- URL resolvedURL = URLEncoder.encode(url);
- siteStream = resolvedURL.openStream();
-
- SiteModelFactory factory = (SiteModelFactory) this;
- factory.parseSite(siteStream);
-
- site = new SiteFTP(new URL("http://eclipse.org/" + FILE));
-
- } catch (MalformedURLException e) {
- throw Utilities.newCoreException("Unable to create URL", e);
- } catch (IOException e) {
- throw Utilities.newCoreException("Unable to access URL", e);
- } finally {
- try {
- siteStream.close();
- } catch (Exception e) {
- }
- }
- return site;
- }
-
- /*
- * @see SiteModelFactory#canParseSiteType(String)
- */
- public boolean canParseSiteType(String type) {
- return "org.eclipse.update.tests.core.ftp".equalsIgnoreCase(type);
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java
deleted file mode 100644
index 72e111c..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.update.tests.model;
-/*
- * (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 AllModelTests extends UpdateManagerTestCase {
- /**
- * Constructor
- */
- public AllModelTests(String name) {
- super(name);
- }
-
- /**
- * List of API tests
- */
- public static Test suite() throws Exception {
- TestSuite suite = new TestSuite();
- suite.setName("Model Tests");
-
- suite.addTest(new TestSuite(FeatureMain.class));
- suite.addTest(new TestSuite(SiteMain.class));
-
- return suite;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java
deleted file mode 100644
index ea3bdfc..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java
+++ /dev/null
@@ -1,184 +0,0 @@
-package org.eclipse.update.tests.model;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.net.URL;
-import java.util.ResourceBundle;
-
-import org.eclipse.update.core.model.DefaultFeatureParser;
-import org.eclipse.update.core.model.FeatureModel;
-import org.eclipse.update.core.model.FeatureModelFactory;
-import org.eclipse.update.core.model.ImportModel;
-import org.eclipse.update.core.model.NonPluginEntryModel;
-import org.eclipse.update.core.model.PluginEntryModel;
-import org.eclipse.update.core.model.URLEntryModel;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class FeatureMain extends UpdateManagerTestCase {
-
- public FeatureMain(String testcase){
- super(testcase);
- }
-
- public void testMain() throws Exception {
-
- FeatureModelFactory factory = new FeatureModelFactory();
- InputStream is = null;
- FeatureModel feature = null;
- PrintWriter w = new PrintWriter(System.out);
-
- w.println("Parsing feature ...");
- try {
- is = FeatureMain.class.getResourceAsStream("feature.xml");
- feature = factory.parseFeature(is);
- } finally {
- if (is != null) {
- try { is.close();} catch(IOException e) {}
- }
- }
-
- String base = "http://another.server/feature.xml";
- w.println("Resolving feature using "+base+" ...");
- ResourceBundle bundle = null;
- bundle = ResourceBundle.getBundle("org/eclipse/update/tests/model/test");
- feature.resolve(new URL(base), bundle);
-
- w.close();
- }
-
- private static void writeFeature(PrintWriter w, int level, FeatureModel feature) {
- if (feature == null) return;
-
- String in = getIndent(level);
- w.println(in+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-
- w.println(in+"<feature");
- w.println(in+" "+"id=\""+feature.getFeatureIdentifier()+"\"");
- w.println(in+" "+"version=\""+feature.getFeatureVersion()+"\"");
- w.println(in+" "+"label=\""+feature.getLabel()+"\"");
- w.println(in+" "+"provider-name=\""+feature.getProvider()+"\"");
- w.println(in+" "+"image=\""+feature.getImageURLString()+"\" -> "+feature.getImageURL());
- w.println(in+" "+"os=\""+feature.getOS()+"\"");
- w.println(in+" "+"ws=\""+feature.getWS()+"\"");
- w.println(in+" "+"nl=\""+feature.getNL()+"\"");
- w.println(in+" "+"application=\""+feature.getApplication()+"\"");
- w.println(in+" "+">");
-
- writeDescription(w, level+1, feature.getDescriptionModel());
- writeCopyright(w, level+1, feature.getCopyrightModel());
- writeLicense(w, level+1, feature.getLicenseModel());
- writeURLs(w, level+1, feature);
- writePrereqs(w, level+1, feature);
- writePluginEntries(w, level+1, feature);
- writeNonPluginEntries(w, level+1, feature);
-
- w.println(in+"</feature>");
- }
-
- private static void writeDescription(PrintWriter w, int level, URLEntryModel ue) {
- String in = getIndent(level);
- w.println("");
- w.println(in+"<description url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");
- w.println(in+ue.getAnnotation());
- w.println(in+"</description>");
- }
-
- private static void writeCopyright(PrintWriter w, int level, URLEntryModel ue) {
- String in = getIndent(level);
- w.println("");
- w.println(in+"<copyright url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");
- w.println(in+ue.getAnnotation());
- w.println(in+"</copyright>");
- }
-
- private static void writeLicense(PrintWriter w, int level, URLEntryModel ue) {
- String in = getIndent(level);
- w.println("");
- w.println(in+"<license url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");
- w.println(in+ue.getAnnotation());
- w.println(in+"</license>");
- }
-
- private static void writeURLs(PrintWriter w, int level, FeatureModel feature) {
- String in = getIndent(level);
- String in2 = getIndent(level+1);
- w.println("");
- w.println(in+"<url>");
-
- URLEntryModel update = feature.getUpdateSiteEntryModel();
- w.println(in2+"<update");
- w.println(in2+" "+"url=\""+update.getURLString()+"\" -> "+update.getURL());
- w.println(in2+" "+"label=\""+update.getAnnotation()+"\"");
- w.println(in2+" "+"/>");
-
- URLEntryModel[] discovery = feature.getDiscoverySiteEntryModels();
- for (int i=0; i<discovery.length; i++) {
- w.println(in2+"<discovery");
- w.println(in2+" "+"url=\""+discovery[i].getURLString()+"\" -> "+discovery[i].getURL());
- w.println(in2+" "+"label=\""+discovery[i].getAnnotation()+"\"");
- w.println(in2+" "+"/>");
- }
-
- w.println(in+"</url>");
- }
-
- private static void writePrereqs(PrintWriter w, int level, FeatureModel feature) {
- String in = getIndent(level);
- String in2 = getIndent(level+1);
- w.println("");
- w.println(in+"<requires>");
-
- ImportModel[] imp = feature.getImportModels();
- for (int i=0; i<imp.length; i++) {
- w.println(in2+"<import");
- w.println(in2+" "+"plugin=\""+imp[i].getPluginIdentifier()+"\"");
- w.println(in2+" "+"version=\""+imp[i].getPluginVersion()+"\"");
- w.println(in2+" "+"match=\""+imp[i].getMatchingRuleName()+"\"");
- w.println(in2+" "+"/>");
- }
-
- w.println(in+"</requires>");
- }
-
- private static void writePluginEntries(PrintWriter w, int level, FeatureModel feature) {
- String in = getIndent(level);
- w.println("");
-
- PluginEntryModel[] plugin = feature.getPluginEntryModels();
- for (int i=0; i<plugin.length; i++) {
- w.println(in+"<plugin");
- w.println(in+" "+"id=\""+plugin[i].getPluginIdentifier()+"\"");
- w.println(in+" "+"version=\""+plugin[i].getPluginVersion()+"\"");
- w.println(in+" "+"fragment=\""+plugin[i].isFragment()+"\"");
- w.println(in+" "+"os=\""+plugin[i].getOS()+"\"");
- w.println(in+" "+"ws=\""+plugin[i].getWS()+"\"");
- w.println(in+" "+"nl=\""+plugin[i].getNL()+"\"");
- w.println(in+" "+"download-size=\""+plugin[i].getDownloadSize()+"\"");
- w.println(in+" "+"install-size=\""+plugin[i].getInstallSize()+"\"");
- w.println(in+" "+"/>");
- }
- }
-
- private static void writeNonPluginEntries(PrintWriter w, int level, FeatureModel feature) {
- String in = getIndent(level);
- w.println("");
-
- NonPluginEntryModel[] data = feature.getNonPluginEntryModels();
- for (int i=0; i<data.length; i++) {
- w.println(in+"<data");
- w.println(in+" "+"id=\""+data[i].getIdentifier()+"\"");
- w.println(in+" "+"download-size=\""+data[i].getDownloadSize()+"\"");
- w.println(in+" "+"install-size=\""+data[i].getInstallSize()+"\"");
- w.println(in+" "+"/>");
- }
- }
-
-
- private static String getIndent(int level) {
- String indent = "";
- for (int i=0; i<level; i++)
- indent += " ";
- return indent;
- }
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java
deleted file mode 100644
index 043c336..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package org.eclipse.update.tests.model;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.net.URL;
-
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.core.model.ArchiveReferenceModel;
-import org.eclipse.update.core.model.DefaultSiteParser;
-import org.eclipse.update.core.model.FeatureReferenceModel;
-import org.eclipse.update.core.model.CategoryModel;
-import org.eclipse.update.core.model.SiteModel;
-import org.eclipse.update.core.model.SiteModelFactory;
-import org.eclipse.update.core.model.URLEntryModel;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class SiteMain extends UpdateManagerTestCase {
-
- public SiteMain(String name){
- super(name);
- }
-
- public void testMain() throws Exception {
-
- PrintWriter w = new PrintWriter(System.out);
- process("site_old_format.xml",w);
- process("site.xml",w);
- try {
- process("site_with_type.xml",w);
- fail("InvalidSiteTypeException not thrown");
- } catch (InvalidSiteTypeException e) {
- assertEquals(e.getNewType(),"some.other.site.type");
- } finally {
- w.close();
- }
- }
-
- private static void process(String xml, PrintWriter w) throws Exception {
-
- SiteModelFactory factory = new SiteModelFactory();
- InputStream is = null;
- SiteModel site = null;
-
- w.println("");
- w.println("Parsing site map ...");
- try {
- is = SiteMain.class.getResourceAsStream(xml);
- site = factory.parseSite(is);
- } finally {
- if (is != null) {
- try { is.close();} catch(IOException e) {}
- }
- }
-
- if (site == null) return;
-
- String base = "http://another.server/site.xml";
- w.println("Resolving site using "+base+" ...");
- site.resolve(new URL(base), null);
-
- w.println("Writing site ...");
- writeSite(w,0,site);
- }
-
- private static void writeSite(PrintWriter w, int level, SiteModel site) {
- if (site == null) return;
-
- String in = getIndent(level);
- w.println(in+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-
- w.println(in+"<site");
- w.println(in+" "+"type=\""+site.getType()+"\"");
- w.println(in+" "+">");
-
- writeDescription(w, level+1, site.getDescriptionModel());
- writeFeatures(w, level+1, site);
- writeArchives(w, level+1, site);
- writeCategoryDefs(w, level+1, site);
-
- w.println(in+"</feature>");
- }
-
- private static void writeDescription(PrintWriter w, int level, URLEntryModel ue) {
- if (ue == null) return;
- String in = getIndent(level);
- w.println("");
- w.println(in+"<description url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");
- w.println(in+ue.getAnnotation());
- w.println(in+"</description>");
- }
-
- private static void writeFeatures(PrintWriter w, int level, SiteModel site) {
- String in = getIndent(level);
- getIndent(level+1);
- w.println("");
-
- FeatureReferenceModel[] features = site.getFeatureReferenceModels();
- for (int i=0; i<features.length; i++) {
- w.println(in+"<feature");
- w.println(in+" "+"type=\""+features[i].getType()+"\"");
- w.println(in+" "+"url=\""+features[i].getURLString()+"\" -> "+features[i].getURL());
- w.println(in+" "+">");
- writeCategories(w, level+1, features[i]);
- w.println(in+"</feature>");
- }
- }
-
- private static void writeArchives(PrintWriter w, int level, SiteModel site) {
- String in = getIndent(level);
- w.println("");
-
- ArchiveReferenceModel[] archive = site.getArchiveReferenceModels();
- for (int i=0; i<archive.length; i++) {
- w.println(in+"<archive");
- w.println(in+" "+"path=\""+archive[i].getPath()+"\"");
- w.println(in+" "+"url=\""+archive[i].getURLString()+"\" -> "+archive[i].getURL());
- w.println(in+" "+"/>");
- }
- }
-
- private static void writeCategoryDefs(PrintWriter w, int level, SiteModel site) {
- String in = getIndent(level);
- getIndent(level+1);
- w.println("");
-
- CategoryModel[] cat = site.getCategoryModels();
- for (int i=0; i<cat.length; i++) {
- w.println(in+"<category-def");
- w.println(in+" "+"name=\""+cat[i].getName()+"\"");
- w.println(in+" "+"label=\""+cat[i].getLabel()+"\"");
- w.println(in+" "+">");
- writeDescription(w, level+1, cat[i].getDescriptionModel());
- w.println(in+"</category-def>");
- }
- }
-
- private static void writeCategories(PrintWriter w, int level, FeatureReferenceModel feature) {
- String in = getIndent(level);
- String[] cat = feature.getCategoryNames();
- for (int i=0; i<cat.length; i++) {
- w.println(in+"<category name=\""+cat[i]+"\"");
- }
- }
-
- private static String getIndent(int level) {
- String indent = "";
- for (int i=0; i<level; i++)
- indent += " ";
- return indent;
- }
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml
deleted file mode 100644
index 1db9650..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<feature id="my.feature" version="3.7.1" label="%s1" provider-name="VK Inc."
- image="images/feature.gif" os="Win32" ws="Win32" nl="en_CA,en_US"
- application="org.eclipse.ui.workbench">
-
- <install-handler url="install/handler.html" library="custom.jar" class="InstallHandler"/>
-
- <description url="http://www.tools.com/features/my.feature">
- Description of my.feature
- </description>
-
- <copyright url="copyright/my.feature">
- Copyright for my.feature
- </copyright>
-
- <license url="%url1">
- License for my.feature
- </license>
-
- <url>
- <update url="http://www.tools.com/update" label="Update site"/>
- <discovery url="http://www.tools.com/discovery1" label="%s2"/>
- <discovery url="%url2" label="%s3 Discovery site 2"/>
- <discovery url="%url3 http://www.tools.com/discovery3" label="Discovery site 3"/>
- </url>
-
- <requires>
- <import plugin="plugin.1" version="1.0.0" match="perfect"/>
- <import plugin="plugin.2" version="3.2.0"/>
- <import plugin="plugin.3"/>
- </requires>
-
- <plugin id="my.plugin.1" version="1.0.0" fragment="true"
- os="Win32" ws="Win32" nl="en_US" download-size="23456" install-size="1234567"/>
- <plugin id="my.plugin.2" version="1.0.1"/>
- <plugin id="my.plugin.3" version="1.0.2"/>
-
- <data id="examples.zip" download-size="23456" install-size="1234567"/>
- <data id="custom/rt.jar"/>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml
deleted file mode 100644
index 7516f26..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<site>
-
- <description url="http://www.tools.com/updateSite">
- Site description
- </description>
-
- <feature type="my.feature.type" url="feature1.jar">
- <category name="tools"/>
- <category name="utilities"/>
- <category name="windows.tools"/>
- </feature>
-
- <feature type="" url="file:/feature2.jar">
- <category name="utilities"/>
- </feature>
-
-
- <archive path="first/archive" url="archive1.jar"/>
- <archive path="second/archive" url="archive2.jar"/>
-
- <category-def name="tools" label="Development Tools">
- <description url="http://www.tools.com/tools">
- This is description for tools
- </description>
- </category-def>
-
- <category-def name="utilities" label="Utilities">
- <description url="tools.html"/>/
- </category-def>
-
- <category-def name="windows.tools" label="Windows Development Tools"/>
-
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml
deleted file mode 100644
index dd10ef7..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<site url="www.tools.com/updateSite">
-
- <feature type="my.feature.type" url="feature1.jar">
- <category name="tools"/>
- <category name="utilities"/>
- <category name="windows.tools"/>
- </feature>
-
- <feature type="" url="feature2.jar">
- <category name="utilities"/>
- </feature>
-
- <archive path="first/archive" url="archive1.jar"/>
- <archive path="second/archive" url="archive2.jar"/>
-
- <category-def name="tools" label="Development Tools">
- <description url="http://www.tools.com/tools">
- This is description for tools
- </description>
- </category-def>
-
- <category-def name="utilities" label="Utilities">
- <description url="utilities.html"/>
- </category-def>
-
- <category-def name="windows.tools" label="Windows Development Tools"/>
-
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml
deleted file mode 100644
index 2ee3a3f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<site url="http://www.tools.com/updateSite" type="some.other.site.type">
-
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties
deleted file mode 100644
index d4d3b20..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-s1 = String 1
-s2 = String 2
-url1 = relative/index.html
-url2 = http://some.server/tools.html
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java
deleted file mode 100644
index e1dfbe8..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 55123cd..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.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 f28b875..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/TestSiteParse.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java
deleted file mode 100644
index 408f509..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java
+++ /dev/null
@@ -1,170 +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.core.model.*;
-import org.eclipse.update.core.model.DefaultSiteParser;
-import org.eclipse.update.core.model.SiteModel;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.core.SiteFileFactory;
-import org.eclipse.update.internal.core.UpdateManagerUtils;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestSiteParse extends UpdateManagerTestCase {
-
- /**
- * Constructor for Test1
- */
- public TestSiteParse(String arg0) {
- super(arg0);
- }
-
- public void testParse() throws Exception {
-
- URL remoteUrl = new URL(SOURCE_FILE_SITE + "xmls/site1/");
- ISite remoteSite = SiteManager.getSite(remoteUrl);
-
- //IFeatureReference[] feature = remoteSite.getFeatureReferences();
- //ICategory[] categories = remoteSite.getCategories();
-
- String path = remoteUrl.getFile();
- String path2 = remoteSite.getDescription().getURL().getFile();
- assertEquals(path + "index.html", path2);
-
- }
-
- public void testNumberOfFeatures() throws Exception {
-
- URL remoteURL = new URL("http", getHttpHost(), getHttpPort(), bundle.getString("HTTP_PATH_2"));
- ISite remoteSite = SiteManager.getSite(remoteURL);
-
- IFeatureReference[] feature = remoteSite.getFeatureReferences();
- assertEquals(feature.length, 2);
-
- }
-
- public void testParseValid1() throws Exception {
-
- URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site.xml");
- DefaultSiteParser parser = new DefaultSiteParser(new SiteFileFactory());
- URL resolvedURL = URLEncoder.encode(remoteURL);
- SiteModel remoteSite = parser.parse(resolvedURL.openStream());
- remoteSite.resolve(remoteURL, null);
-
- FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();
- CategoryModel[] categories = remoteSite.getCategoryModels();
- ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();
-
- assertTrue("Wrong number of features", feature.length == 6);
- assertTrue("Wrong number of categories", categories.length == 3);
- assertTrue("Wrong number of archives", archives.length == 0);
-
- String path = new URL(SOURCE_FILE_SITE + "parsertests/").getFile();
- String path2 = remoteSite.getDescriptionModel().getURL().getFile();
- assertEquals(path + "index.html", path2);
-
- }
-
- public void testParseValid2() throws Exception {
-
- URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/reddot.xml");
- DefaultSiteParser parser = new DefaultSiteParser(new SiteFileFactory());
- URL resolvedURL = URLEncoder.encode(remoteURL);
- SiteModel remoteSite = parser.parse(resolvedURL.openStream());
- remoteSite.resolve(remoteURL, null);
-
- FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();
- CategoryModel[] categories = remoteSite.getCategoryModels();
- ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();
-
- assertTrue("Wrong number of features", feature.length == 2);
- assertTrue("Wrong number of categories", categories.length == 1);
- assertTrue("Wrong number of archives", archives.length == 2);
-
- String valideString = "This category contains all of the<currently>available versions of Red Dot feature.<greeting>Hello, world!</greeting>";
- assertEquals(valideString,remoteSite.getCategoryModels()[0].getDescriptionModel().getAnnotation());
-
- String path = new URL(SOURCE_FILE_SITE + "parsertests/").getFile();
- String path2 = remoteSite.getDescriptionModel().getURL().getFile();
- assertEquals(path + "index.html", path2);
-
- }
-
- public void testParseValid3() throws Exception {
-
- URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/reddot1.xml");
- DefaultSiteParser parser = new DefaultSiteParser(new SiteFileFactory());
- URL resolvedURL = URLEncoder.encode(remoteURL);
- SiteModel remoteSite = parser.parse(resolvedURL.openStream());
- remoteSite.resolve(remoteURL, null);
-
- FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();
- CategoryModel[] categories = remoteSite.getCategoryModels();
- ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();
-
- assertTrue("Wrong number of features", feature.length == 2);
- assertTrue("Wrong number of categories", categories.length == 1);
- assertTrue("Wrong number of archives", archives.length == 2);
-
- String valideString = "This category contains all of the<currently>available versions of Red Dot feature.";
- assertEquals(valideString,remoteSite.getCategoryModels()[0].getDescriptionModel().getAnnotation());
-
- String path = new URL(SOURCE_FILE_SITE + "parsertests/").getFile();
- String path2 = remoteSite.getDescriptionModel().getURL().getFile();
- assertEquals(path + "index.html", path2);
-
- }
-
- public void testParseValid4() throws Exception {
-
- URL remoteURL = new URL(SOURCE_FILE_SITE + "SiteURLTest/data/site.xml");
- DefaultSiteParser parser = new DefaultSiteParser(new SiteFileFactory());
- URL resolvedURL = URLEncoder.encode(remoteURL);
- SiteModel remoteSite = parser.parse(resolvedURL.openStream());
- remoteSite.resolve(remoteURL, null);
-
- FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();
- //CategoryModel[] categories = remoteSite.getCategoryModels();
- ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();
-
- assertTrue("Wrong number of features", feature.length == 2);
- assertTrue("Wrong number of archives", archives.length == 3);
-
- URL path1 = new URL(SOURCE_FILE_SITE+"SiteURLTest/data/artifacts/features/helpFeature.jar");
- assertEquals(path1,feature[0].getURL());
- URL path2 = new URL(SOURCE_FILE_SITE+"SiteURLTest/data/artifacts/plugins/help.jar");
- assertEquals(path2,archives[0].getURL());
-
-
- String path = new URL(SOURCE_FILE_SITE + "SiteURLTest/data/info/").getFile();
- String path3 = remoteSite.getDescriptionModel().getURL().getFile();
- assertEquals(path + "siteInfo.html", path3);
-
- }
-
-public void testParseValid5() throws Exception {
-
- URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site2.xml");
- DefaultSiteParser parser = new DefaultSiteParser(new SiteFileFactory());
- URL resolvedURL = URLEncoder.encode(remoteURL);
- SiteModel remoteSite = parser.parse(resolvedURL.openStream());
- remoteSite.resolve(remoteURL, null);
-
- FeatureReferenceModel[] featureRef = remoteSite.getFeatureReferenceModels();
- //CategoryModel[] categories = remoteSite.getCategoryModels();
- ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();
-
- assertTrue("Wrong number of features", featureRef.length == 1);
- assertTrue("Wrong number of archives", archives.length == 0);
-
-
- ((FeatureReference)featureRef[0]).getFeature();
-
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java
deleted file mode 100644
index c620592..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.update.tests.reconciliation;
-/*
- * (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 AllReconciliationTests extends UpdateManagerTestCase {
- /**
- * Constructor
- */
- public AllReconciliationTests(String name) {
- super(name);
- }
-
- /**
- * List of API tests
- */
- public static Test suite() throws Exception {
- TestSuite suite = new TestSuite();
- suite.setName("API Tests");
-
-
- suite.addTest(new TestSuite(TestSiteReconciliation.class));
-
- return suite;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java
deleted file mode 100644
index 6c11d6f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.update.tests.reconciliation;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.io.File;
-import java.net.URL;
-
-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;
-import org.eclipse.core.internal.boot.PlatformConfiguration;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.SiteManager;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.configuration.ILocalSite;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.core.InternalSiteManager;
-import org.eclipse.update.internal.core.SiteLocal;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestSiteReconciliation extends UpdateManagerTestCase {
-
-
-
-
- /**
- * Test the getFeatures()
- */
- public TestSiteReconciliation(String arg0) {
- super(arg0);
- }
-
- private void addConfigSite(int policy, URL url,String[] listOfPlugins) throws Exception {
- String xmlFile = ((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile();
- UpdateManagerUtils.removeFromFileSystem(new File(xmlFile));
- InternalSiteManager.localSite=null;
- // get new config object
- PlatformConfiguration cfig = (PlatformConfiguration)BootLoader.getCurrentPlatformConfiguration();
- ISitePolicy p1 = cfig.createSitePolicy(policy, listOfPlugins);
- ISiteEntry s1 = cfig.createSiteEntry(url,p1);
- cfig.configureSite(s1);
-
- }
-
- private void removeConfigSite(URL url) throws Exception {
- // get new config object
- PlatformConfiguration cfig = (PlatformConfiguration)BootLoader.getCurrentPlatformConfiguration();
- ISiteEntry s1 = cfig.findConfiguredSite(url);
- cfig.unconfigureSite(s1);
- }
- /**
- * Site 1 contains a feature which needs a plugin taht is not on the path when we start
- * it will never be configured
- */
- public void testNewSiteInclude1() throws Exception {
-
- int policy = ISitePolicy.USER_INCLUDE;
- URL url = new URL("file",null,dataPath+"reconciliationSites/site1/");
- String[] plugins = new String[]{};
- addConfigSite(policy,url, plugins);
-
- ILocalSite local = SiteManager.getLocalSite();
- ((SiteLocal)local).setStamp(0);
- IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
- IConfiguredSite newSite = null;
- for (int i = 0; i < newSites.length; i++) {
- if (newSites[i].getSite().getURL().equals(url))
- newSite = newSites[i];
- }
-
- if (newSite==null) fail("Site not found in configuration");
-
- IFeatureReference[] ref = newSite.getConfiguredFeatures();
- assertEquals("Wrong number of configured features",0,ref.length);
- ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
- assertEquals("Wrong number of unconfigured features",1,ref.length);
-
- removeConfigSite(url);
- }
-
- public void testNewSiteExclude1() throws Exception {
-
- int policy = ISitePolicy.USER_EXCLUDE;
- URL url = new URL("file",null,dataPath+"reconciliationSites/site1/");
- String[] plugins = new String[]{};
- addConfigSite(policy,url, plugins);
-
- ILocalSite local = SiteManager.getLocalSite();
- ((SiteLocal)local).setStamp(0);
- IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
- IConfiguredSite newSite = null;
- for (int i = 0; i < newSites.length; i++) {
- if (newSites[i].getSite().getURL().equals(url))
- newSite = newSites[i];
- }
-
- if (newSite==null) fail("Site not found in configuration");
-
- IFeatureReference[] ref = newSite.getConfiguredFeatures();
- assertEquals("Wrong number of configured features",0,ref.length);
- ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
- assertEquals("Wrong number of unconfigured features",1,ref.length);
- removeConfigSite(url);
- }
-
- /**
- * Site 2 contains a feature which needs a plugin taht is on the path when we start
- * it will be configured
- */
- public void testNewSiteInclude2() throws Exception {
-
- int policy = ISitePolicy.USER_INCLUDE;
- URL url = new URL("file",null,dataPath+"reconciliationSites/site2/");
- String[] plugins = new String[]{};
- addConfigSite(policy,url, plugins);
- ILocalSite local = SiteManager.getLocalSite();
- ((SiteLocal)local).setStamp(0);
- IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
- IConfiguredSite newSite = null;
- for (int i = 0; i < newSites.length; i++) {
- if (newSites[i].getSite().getURL().equals(url))
- newSite = newSites[i];
- }
-
- if (newSite==null) fail("Site not found in configuration");
-
- IFeatureReference[] ref = newSite.getConfiguredFeatures();
- assertEquals("Wrong number of configured features",1,ref.length);
- ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
- assertEquals("Wrong number of unconfigured features",0,ref.length);
-
- removeConfigSite(url);
- }
-
-
-
- public void testNewSiteExclude2() throws Exception {
-
- int policy = ISitePolicy.USER_EXCLUDE;
- URL url = new URL("file",null,dataPath+"reconciliationSites/site2/");
- String[] plugins = new String[]{};
- addConfigSite(policy,url, plugins);
- ILocalSite local = SiteManager.getLocalSite();
- ((SiteLocal)local).setStamp(0);
- IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
- IConfiguredSite newSite = null;
- for (int i = 0; i < newSites.length; i++) {
- if (newSites[i].getSite().getURL().equals(url))
- newSite = newSites[i];
- }
-
- if (newSite==null) fail("Site not found in configuration");
-
- IFeatureReference[] ref = newSite.getConfiguredFeatures();
- assertEquals("Wrong number of configured features",1,ref.length);
- ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
- assertEquals("Wrong number of unconfigured features",0,ref.length);
-
- removeConfigSite(url);
- }
-
-
-
-
-
-
-
-
-
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java
deleted file mode 100644
index d56dd55..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/MultipleTestLocalSite.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/MultipleTestLocalSite.java
deleted file mode 100644
index 23f9a6e..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/MultipleTestLocalSite.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 3260c3b..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestDataEntryInstall.java
+++ /dev/null
@@ -1,95 +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 File(dataPath + "dataEntrySiteTest/site1/site.xml").toURL();
- 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,null);
-
- // verify
- String site = localSite.getURL().getFile();
- INonPluginEntry[] entries = remoteFeature.getNonPluginEntries();
- assertTrue("no data entry", (entries != null && entries.length != 0));
- String pluginName = entries[0].getIdentifier().toString();
- File pluginFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString()+File.separator+ pluginName);
- assertTrue("data files not installed locally:"+pluginFile, pluginFile.exists());
- }
-
- //cleanup target
- UpdateManagerUtils.removeFromFileSystem(target);
-
-
- }
-
-
- /**
- * With site.xml
- */
- public void testDataEntrySitePackaged() throws Exception {
-
- //cleanup target
- File target = new File(TARGET_FILE_SITE.getFile());
- UpdateManagerUtils.removeFromFileSystem(target);
-
- URL newURL =new File(dataPath + "dataEntrySiteTest/site2/site.xml").toURL();
- ISite remoteSite = SiteManager.getSite(newURL);
- 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,null);
-
- // verify
- String site = localSite.getURL().getFile();
- INonPluginEntry[] entries = remoteFeature.getNonPluginEntries();
- assertTrue("no data entry", (entries != null && entries.length != 0));
- entries[0].getIdentifier().toString();
- File pluginFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString()+File.separator+ "nondata"+File.separator+"file1.zip");
- assertTrue("Data file inside the jar not installed locally:"+pluginFile, pluginFile.exists());
- pluginFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString()+File.separator+ "file.zip");
- assertTrue("Data file outside the jar not installed locally:"+pluginFile, pluginFile.exists());
-
- }
-
-
- //cleanup target
- UpdateManagerUtils.removeFromFileSystem(target);
-
-
- }
-
-}
\ 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 5dfe548..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 979290c..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutablePackagedInstall.java
+++ /dev/null
@@ -1,130 +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.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestExecutablePackagedInstall extends UpdateManagerTestCase {
- /**
- * Constructor for Test1
- */
- public TestExecutablePackagedInstall(String arg0) {
- super(arg0);
- }
-
- /**
- * With site.xml
- */
- public void testFilePackageExecutableFeatureSite() throws Exception {
-
- //cleanup target
- File target = new File(TARGET_FILE_SITE.getFile());
- UpdateManagerUtils.removeFromFileSystem(target);
-
- URL newURL = new File(dataPath + "ExecutableFeaturePackagedSite/data2/site.xml").toURL();
- ISite remoteSite = SiteManager.getSite(newURL);
- 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,null);
-
- if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;
- if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) 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].getVersionedIdentifier().toString();
- File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
- assertTrue("plugin files not installed locally", pluginFile.exists());
-
- File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());
- assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());
-
- File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");
- assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());
- }
-
- if (!execFeature && !packFeature){
- fail("cannot find one executable and one package feature on teh site");
- }
-
- //cleanup target
- UpdateManagerUtils.removeFromFileSystem(target);
-
-
- }
-
-
- /**
- * Without site.xml
- */
- public void testFileNoSiteXMLSite() throws Exception {
-
- //cleanup target
- File target = new File(TARGET_FILE_SITE.getFile());
- UpdateManagerUtils.removeFromFileSystem(target);
-
- URL newURL = new File(dataPath + "ExecutableFeaturePackagedSite/data/").toURL();
- ISite remoteSite = SiteManager.getSite(newURL);
- 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();
- if (remoteFeature!=null){
- localSite.install(remoteFeature,null, null);
-
- if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;
- if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) execFeature = true;
-
- // verify
- String site = localSite.getURL().getFile();
- IPluginEntry[] entries = remoteFeature.getPluginEntries();
- assertTrue("no plugins entry", (entries != null && entries.length != 0));
- String pluginName = entries[0].getVersionedIdentifier().toString();
- File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
- assertTrue("plugin files not installed locally", pluginFile.exists());
-
- File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());
- assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());
-
- File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");
- assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());
- }
- }
-
- if (!execFeature && !packFeature){
- fail("cannot find one executable and one package feature on teh site");
- }
-
- //cleanup target
- UpdateManagerUtils.removeFromFileSystem(target);
-
-
- }
-
-}
\ 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 64b3f84..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstall.java
+++ /dev/null
@@ -1,261 +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.configuration.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestInstall extends UpdateManagerTestCase {
-
-
-
- /**
- *
- */
- public static final String PACKAGED_FEATURE_TYPE = "packaged"; //$NON-NLS-1$
-
- public class Listener implements IConfiguredSiteChangedListener{
-
- public boolean notified = false;
-
- /*
- * @see IConfiguredSiteChangedListener#featureInstalled(IFeature)
- */
- public void featureInstalled(IFeature feature) {
- notified = true;
- System.out.println("Notified DefaultFeature Installed");
- }
-
- /*
- * @see IConfiguredSiteChangedListener#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 {
- FeatureReference ref = new FeatureReference();
- ref.setSite(site);
- ref.setURLString("features/org.eclipse.update.core.tests.feature1_1.0.4.jar");
- ref.setType(getDefaultInstallableFeatureType());
- ref.resolve(site.getURL(),null);
- return ref.getFeature();
- }
-
- 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, null);
-
- // verify
- String site = localSite.getURL().getFile();
- IPluginEntry[] entries = remoteFeature.getPluginEntries();
- assertTrue("no plugins entry", (entries != null && entries.length != 0));
- String pluginName = entries[0].getVersionedIdentifier().toString();
- File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
- assertTrue("plugin files not installed locally", pluginFile.exists());
- File pluginXMLFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName+File.separator + "plugin.xml");
- assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());
-
- File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());
- assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());
- //cleanup
- UpdateManagerUtils.removeFromFileSystem(pluginFile);
- UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));
-
- }
-
- /**
- *
- */
- public void testHTTPSite() throws Exception {
-
- ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE);
- 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, null);
-
- // feature2.jar should not be in the local site
- IFeatureReference[] localFeatures = localSite.getFeatureReferences();
- if (localFeatures == null || localFeatures.length == 0)
- fail("No features on the target site");
-
- boolean found = false;
- for (int i = 0; i < localFeatures.length; i++) {
- if (localFeatures[i].getURL().toExternalForm().endsWith("features2.jar")) {
- found= true;
- break;
- }
- }
-
- assertTrue("Found feature2.jar on target site. Target site feature ref shouldnot contain JAR file", !found);
-
-
- // check
- String site = localSite.getURL().getFile();
- IPluginEntry[] entries = remoteFeature.getPluginEntries();
- assertTrue("no plugins entry", (entries != null && entries.length != 0));
-
- String pluginName = entries[0].getVersionedIdentifier().toString();
- File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
- assertTrue("plugin info not installed locally", pluginFile.exists());
-
- File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());
- assertTrue("feature info not installed locally", featureFile.exists());
-
- //localSite.save();
-
- //cleanup
- UpdateManagerUtils.removeFromFileSystem(pluginFile);
- UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));
- }
-
- public void testInstall() throws Exception {
-
- // cleanup local files...
- URL localURL = ((SiteLocal)SiteManager.getLocalSite()).getLocationURL();
- File localFile = new File(new URL(localURL,SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
-
-
- URL INSTALL_SITE = null;
- try {
- INSTALL_SITE = new URL("http", getHttpHost(),getHttpPort(), bundle.getString("HTTP_PATH_2"));
- } catch (Exception e) {
- fail(e.toString());
- e.printStackTrace();
- }
-
- ISite remoteSite = SiteManager.getSite(INSTALL_SITE);
- 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();
- IConfiguredSite site = localSite.getCurrentConfiguration().getConfiguredSites()[0];
- Listener listener = new Listener();
- site.addConfiguredSiteChangedListener(listener);
-
- site.install(remoteFeature,null,null);
-
-
- IPluginEntry[] entries = remoteFeature.getPluginEntries();
- assertTrue("no plugins entry", (entries != null && entries.length != 0));
-
- String sitePath = site.getSite().getURL().getFile();
- String pluginName = entries[0].getVersionedIdentifier().toString();
- File pluginFile = new File(sitePath, Site.DEFAULT_PLUGIN_PATH + pluginName);
- assertTrue("plugin info not installed locally", pluginFile.exists());
-
- File featureFile = new File(sitePath, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());
- assertTrue("feature info not installed locally", featureFile.exists());
-
- //cleanup
- File file = new File(site.getSite().getURL().getFile()+File.separator+Site.DEFAULT_INSTALLED_FEATURE_PATH+remoteFeature.getVersionedIdentifier());
- UpdateManagerUtils.removeFromFileSystem(file);
- UpdateManagerUtils.removeFromFileSystem(pluginFile);
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)localSite.getCurrentConfiguration()).getURL().getFile()));
-
- site.removeConfiguredSiteChangedListener(listener);
- assertTrue("Listener hasn't received notification",listener.isNotified());
- }
-
-
- public void testFileSiteWithoutSiteXML() throws Exception {
-
- ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE);
- IFeature remoteFeature = getFeature1(remoteSite);
- IConfiguredSite localSite = SiteManager.getLocalSite().getCurrentConfiguration().getConfiguredSites()[0];
- localSite.getSite().install(remoteFeature,null, null);
-
- IFeatureReference[] features = localSite.getSite().getFeatureReferences();
- if (features.length==0) fail("The local site does not contain feature, should not contain an XML file but features should be found anyway by parsing");
- if (localSite.getSite().getArchives().length==0) fail("The local site does not contain archives, should not contain an XML file but archives should be found anyway by parsing");
-
- //cleanup
- File file = new File(localSite.getSite().getURL().getFile()+File.separator+Site.DEFAULT_INSTALLED_FEATURE_PATH+remoteFeature.getVersionedIdentifier());
- UpdateManagerUtils.removeFromFileSystem(file);
- file = new File(localSite.getSite().getURL().getFile()+File.separator+Site.DEFAULT_PLUGIN_PATH+"org.eclipse.update.core.tests.feature1.plugin1_3.5.6");
- UpdateManagerUtils.removeFromFileSystem(file);
- file = new File(localSite.getSite().getURL().getFile()+File.separator+Site.DEFAULT_PLUGIN_PATH+"org.eclipse.update.core.tests.feature1.plugin2_5.0.0");
- UpdateManagerUtils.removeFromFileSystem(file);
- File localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
-
- try {
- SiteManager.getSite(new URL("http://www.eclipse.org/"));
- // FIXME apparently works !!!
- // fail("The site contains site.xml... it should be an HTTP site without an XML file");
- } catch (CoreException e){
- // expected
- }
-
-
- }
-
-
- /**
- *
- */
- private Feature createPackagedFeature(URL url,ISite site) throws CoreException {
- String packagedFeatureType = site.DEFAULT_PACKAGED_FEATURE_TYPE;
- Feature result = null;
- if (packagedFeatureType != null) {
- IFeatureFactory factory = FeatureTypeFactory.getInstance().getFactory(packagedFeatureType);
- result = (Feature)factory.createFeature(url, site);
- }
- return result;
- }
- /*
- * @see ISite#getDefaultInstallableFeatureType()
- */
- public String getDefaultInstallableFeatureType() {
- String pluginID = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier()+".";
- return pluginID+PACKAGED_FEATURE_TYPE;
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java
deleted file mode 100644
index 6b29d56..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java
+++ /dev/null
@@ -1,251 +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.configuration.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestInstallURLSIteXML extends UpdateManagerTestCase {
-
- /**
- *
- */
- public static final String PACKAGED_FEATURE_TYPE = "packaged"; //$NON-NLS-1$
-
- public class Listener implements IConfiguredSiteChangedListener{
-
- public boolean notified = false;
-
-
- /*
- * @see IConfiguredSiteChangedListener#featureInstalled(IFeature)
- */
- public void featureInstalled(IFeature feature) {
- notified = true;
- System.out.println("Notified DefaultFeature Installed");
- }
-
- /*
- * @see IConfiguredSiteChangedListener#featureUninstalled(IFeature)
- */
- public void featureUninstalled(IFeature feature) {}
-
- public boolean isNotified() {
- return notified;
- }
-}
-
- /**
- * Constructor for Test1
- */
- public TestInstallURLSIteXML(String arg0) {
- super(arg0);
- }
-
- private IFeature getFeature1(ISite site) throws MalformedURLException, CoreException {
- FeatureReference ref = new FeatureReference();
- ref.setSite(site);
- ref.setURLString("features/org.eclipse.update.core.tests.feature1_1.0.4.jar");
- ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
- ref.resolve(site.getURL(),null);
- return ref.getFeature();
- }
-
- public void testFileSite() throws Exception {
-
- ISite remoteSite = SiteManager.getSite(new URL(SOURCE_FILE_SITE, Site.SITE_XML));
- IFeature remoteFeature = getFeature1(remoteSite);
- ISite localSite = SiteManager.getSite(new URL(TARGET_FILE_SITE, Site.SITE_XML));
- localSite.install(remoteFeature,null,null);
-
- // verify
- String site = TARGET_FILE_SITE.getFile();
- IPluginEntry[] entries = remoteFeature.getPluginEntries();
- assertTrue("no plugins entry", (entries != null && entries.length != 0));
- String pluginName = entries[0].getVersionedIdentifier().toString();
- File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
- assertTrue("plugin files not installed locally", pluginFile.exists());
- File pluginXMLFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName+File.separator + "plugin.xml");
- assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());
-
- File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());
- assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());
- //cleanup
- UpdateManagerUtils.removeFromFileSystem(pluginFile);
- UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));
-
- }
-
- /**
- *
- */
- public void testHTTPSite() throws Exception {
-
- ISite remoteSite = SiteManager.getSite(new URL(SOURCE_HTTP_SITE,Site.SITE_XML));
- 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(new URL(TARGET_FILE_SITE,Site.SITE_XML));
- localSite.install(remoteFeature,null, null);
-
- // feature2.jar should not be in the local site
- IFeatureReference[] localFeatures = localSite.getFeatureReferences();
- if (localFeatures == null || localFeatures.length == 0)
- fail("No features on the target site");
-
- boolean found = false;
- for (int i = 0; i < localFeatures.length; i++) {
- if (localFeatures[i].getURL().toExternalForm().endsWith("features2.jar")) {
- found= true;
- break;
- }
- }
-
- assertTrue("Found feature2.jar on target site. Target site feature ref shouldnot contain JAR file", !found);
-
-
- // check
- String site = TARGET_FILE_SITE.getFile();
- IPluginEntry[] entries = remoteFeature.getPluginEntries();
- assertTrue("no plugins entry", (entries != null && entries.length != 0));
-
- String pluginName = entries[0].getVersionedIdentifier().toString();
- File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
- assertTrue("plugin info not installed locally", pluginFile.exists());
-
- File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());
- assertTrue("feature info not installed locally", featureFile.exists());
-
- //localSite.save();
-
- //cleanup
- UpdateManagerUtils.removeFromFileSystem(pluginFile);
- UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));
- }
-
- public void testInstall() throws Exception {
-
- // cleanup local files...
- File localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- InternalSiteManager.localSite = null;
-
-
- URL INSTALL_SITE = null;
- try {
- INSTALL_SITE = new URL("http", getHttpHost(),getHttpPort(), bundle.getString("HTTP_PATH_2"));
- } catch (Exception e) {
- fail(e.toString());
- e.printStackTrace();
- }
-
- ISite remoteSite = SiteManager.getSite(INSTALL_SITE);
- 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();
- IConfiguredSite site = localSite.getCurrentConfiguration().getConfiguredSites()[0];
- Listener listener = new Listener();
- site.addConfiguredSiteChangedListener(listener);
-
- site.install(remoteFeature,null,null);
-
-
- IPluginEntry[] entries = remoteFeature.getPluginEntries();
- assertTrue("no plugins entry", (entries != null && entries.length != 0));
-
- String sitePath = site.getSite().getURL().getFile();
- String pluginName = entries[0].getVersionedIdentifier().toString();
- File pluginFile = new File(sitePath, Site.DEFAULT_PLUGIN_PATH + pluginName);
- assertTrue("plugin info not installed locally", pluginFile.exists());
-
- File featureFile = new File(sitePath, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());
- assertTrue("feature info not installed locally", featureFile.exists());
-
- //cleanup
- File file = new File(site.getSite().getURL().getFile()+File.separator+Site.DEFAULT_INSTALLED_FEATURE_PATH+remoteFeature.getVersionedIdentifier());
- UpdateManagerUtils.removeFromFileSystem(file);
- UpdateManagerUtils.removeFromFileSystem(pluginFile);
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)localSite.getCurrentConfiguration()).getURL().getFile()));
-
- site.removeConfiguredSiteChangedListener(listener);
- assertTrue("Listener hasn't received notification",listener.isNotified());
- }
-
-
- public void testFileSiteWithoutSiteXML() throws Exception {
-
- ISite remoteSite = SiteManager.getSite(new URL(SOURCE_FILE_SITE, Site.SITE_XML));
- IFeature remoteFeature = getFeature1(remoteSite);
- IConfiguredSite localSite = SiteManager.getLocalSite().getCurrentConfiguration().getConfiguredSites()[0];
- localSite.getSite().install(remoteFeature,null, null);
-
- IFeatureReference[] features = localSite.getSite().getFeatureReferences();
- if (features.length==0) fail("The local site does not contain feature, should not contain an XML file but features should be found anyway by parsing");
- if (localSite.getSite().getArchives().length==0) fail("The local site does not contain archives, should not contain an XML file but archives should be found anyway by parsing");
-
- //cleanup
- File file = new File(localSite.getSite().getURL().getFile()+File.separator+Site.DEFAULT_INSTALLED_FEATURE_PATH+remoteFeature.getVersionedIdentifier());
- UpdateManagerUtils.removeFromFileSystem(file);
- file = new File(localSite.getSite().getURL().getFile()+File.separator+Site.DEFAULT_PLUGIN_PATH+"org.eclipse.update.core.tests.feature1.plugin1_3.5.6");
- UpdateManagerUtils.removeFromFileSystem(file);
- file = new File(localSite.getSite().getURL().getFile()+File.separator+Site.DEFAULT_PLUGIN_PATH+"org.eclipse.update.core.tests.feature1.plugin2_5.0.0");
- UpdateManagerUtils.removeFromFileSystem(file);
- File localFile = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
-
- }
-
-
- /**
- *
- */
- private Feature createPackagedFeature(URL url,ISite site) throws CoreException {
- String packagedFeatureType = ISite.DEFAULT_PACKAGED_FEATURE_TYPE;
- Feature result = null;
- if (packagedFeatureType != null) {
- IFeatureFactory factory = FeatureTypeFactory.getInstance().getFactory(packagedFeatureType);
- result = (Feature)factory.createFeature(url, site);
- }
- return result;
- }
- /*
- * @see ISite#getDefaultInstallableFeatureType()
- */
- public String getDefaultInstallableFeatureType() {
- String pluginID = UpdateManagerPlugin.getPlugin().getDescriptor().getUniqueIdentifier()+".";
- return pluginID+PACKAGED_FEATURE_TYPE;
- }
-
-}
\ 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 c266fd5..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestLocalSite.java
+++ /dev/null
@@ -1,306 +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.configuration.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.model.*;
-import org.eclipse.update.internal.model.ConfigurationPolicyModel;
-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
- SiteLocal siteLocal = (SiteLocal)SiteManager.getLocalSite();
- URL newURL = new URL(siteLocal.getLocationURL(),SiteLocal.SITE_LOCAL_FILE);
- File localFile = new File(newURL.getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)siteLocal.getCurrentConfiguration()).getURL().getFile()));
- InternalSiteManager.localSite=null;
-
-
- ILocalSite site = SiteManager.getLocalSite();
- site.save();
- URL location = ((SiteLocal)site).getLocationURL();
- String fileName = UpdateManagerUtils.getLocalRandomIdentifier(SiteLocal.DEFAULT_CONFIG_FILE, site.getCurrentConfiguration().getCreationDate());
- String filePath = new URL(location,fileName).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
- SiteLocal siteLocal = (SiteLocal)SiteManager.getLocalSite();
- URL newURL = new URL(siteLocal.getLocationURL(),SiteLocal.SITE_LOCAL_FILE);
- File localFile = new File(newURL.getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)siteLocal.getCurrentConfiguration()).getURL().getFile()));
- InternalSiteManager.localSite=null;
-
- ILocalSite site = SiteManager.getLocalSite();
- assertTrue("The local site does not contain an history of install configuration",site.getConfigurationHistory().length!=0);
- assertTrue("The local site does not contain an current install configuration",site.getCurrentConfiguration()!=null);
- assertTrue("The local site does not contain a default configuration site for the current install config",site.getCurrentConfiguration().getConfiguredSites().length!=0);
-
- System.out.println("Default Config Site is :"+site.getCurrentConfiguration().getConfiguredSites()[0].getSite().getURL().toExternalForm());
-
- // cleanup
- URL location = ((SiteLocal)site).getLocationURL();
- 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 {
-
- //clean up
- SiteLocal siteLocal = (SiteLocal)SiteManager.getLocalSite();
- URL newURL = new URL(siteLocal.getLocationURL(),SiteLocal.SITE_LOCAL_FILE);
- File localFile = new File(newURL.getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)siteLocal.getCurrentConfiguration()).getURL().getFile()));
- InternalSiteManager.localSite=null;
-
- ILocalSite site = SiteManager.getLocalSite();
- ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE);
- IFeature feature = remoteSite.getFeatureReferences()[0].getFeature();
- int oldNumber = site.getCurrentConfiguration().getConfiguredSites().length;
-
- // we are not checking if this is read only
- IInstallConfiguration newConfig = site.cloneCurrentConfiguration();
- newConfig.setLabel("new Label");
- //IInstallConfiguration newConfig = site.getCurrentConfiguration();
- IConfiguredSite configSite = newConfig.getConfiguredSites()[0];
- ConfigurationPolicyModel configPolicy = new BaseSiteLocalFactory().createConfigurationPolicyModel();
- configPolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE);
- ((ConfiguredSite)configSite).setConfigurationPolicy((ConfigurationPolicy)configPolicy);
- site.addConfiguration(newConfig);
- configSite.install(feature,null,null);
-
-
- // teh current one points to a real fature
- // does not throw error.
- IConfiguredSite configSite2 = site.getCurrentConfiguration().getConfiguredSites()[0];
- IFeatureReference ref = configSite2.getConfiguredFeatures()[0];
- IFeature feature2 = ref.getFeature();
- //String configuredFeature = feature2.getLabel();
-
- assertEquals(feature2.getVersionedIdentifier().toString(),"org.eclipse.update.core.tests.feature3_1.0.0");
- assertTrue("Wrong id version of feature",feature2.getVersionedIdentifier().toString().equalsIgnoreCase("org.eclipse.update.core.tests.feature3_1.0.0"));
-
- // only one feature configured
- assertTrue("too many features configured",configSite2.getConfiguredFeatures().length==1);
-
- // no feature unconfigured
- assertTrue("too many unconfigured features",((ConfiguredSite)configSite2).getConfigurationPolicy().getUnconfiguredFeatures().length==0);
-
- // test only 2 install config in local site
- assertTrue("wrong number of history in Local site",site.getConfigurationHistory().length==2);
-
- // test same # of sites in current config
- assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfiguredSites().length==oldNumber);
-
- //test only one feature for the site
- assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==1);
-
- // test only 2 activities
- assertTrue("Wrong number of activities for install config",site.getCurrentConfiguration().getActivities().length==2);
-
- site.save();
-
- // check
- // there are 2 configuration
- String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();
- URL location = ((SiteLocal)site).getLocationURL();
- File file = new File(new URL(location,"Config"+time+".xml").getFile());
- assertTrue("new configuration does not exist", file.exists());
-
- // cleanup
- localFile = new File(new URL(location,SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- localFile = new File(new URL(location,SiteLocal.DEFAULT_CONFIG_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature.getVersionedIdentifier().toString()).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature2.getVersionedIdentifier().toString()).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(file);
- localFile = new File(feature2.getURL().getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- }
-
- public void testRetriveConfig() throws Exception {
-
- //clean up
- SiteLocal siteLocal = (SiteLocal)SiteManager.getLocalSite();
- URL newURL = new URL(siteLocal.getLocationURL(),SiteLocal.SITE_LOCAL_FILE);
- File localFile = new File(newURL.getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)siteLocal.getCurrentConfiguration()).getURL().getFile()));
- InternalSiteManager.localSite=null;
-
- ILocalSite site = SiteManager.getLocalSite();
- ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE);
- IFeature feature = remoteSite.getFeatureReferences()[0].getFeature();
- int oldNumber = site.getCurrentConfiguration().getConfiguredSites().length;
-
- // we are not checking if this is read only
- IInstallConfiguration newConfig = site.cloneCurrentConfiguration();
- newConfig.setLabel("new Label");
- IConfiguredSite configSite = newConfig.getConfiguredSites()[0];
- ConfigurationPolicyModel configPolicy = new BaseSiteLocalFactory().createConfigurationPolicyModel();
- configPolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE);
- ((ConfiguredSite)configSite).setConfigurationPolicy((ConfigurationPolicy)configPolicy);
- site.addConfiguration(newConfig);
- configSite.install(feature,null,null);
- site.save();
-
- // we created the second xml file
-
- //do not cleanup, we want to reuse previously created local site
- // but force re-read of xml File
- InternalSiteManager.localSite=null;
- site = SiteManager.getLocalSite();
-
- // check
- // there are 2 configuration
- String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();
- URL location = ((SiteLocal)site).getLocationURL();
- File file = new File(new URL(location,"Config"+time+".xml").getFile());
- assertTrue("new configuration does not exist", file.exists());
-
- // teh current one points to a real fature
- // does not throw error.
- IConfiguredSite configSite2 = site.getCurrentConfiguration().getConfiguredSites()[0];
- IFeatureReference ref = configSite2.getConfiguredFeatures()[0];
- IFeature feature2 = ref.getFeature();
- //String configuredFeature = feature2.getLabel();
- assertEquals(feature2.getVersionedIdentifier().toString(),"org.eclipse.update.core.tests.feature3_1.0.0");
- assertTrue("Wrong id version of feature",feature2.getVersionedIdentifier().toString().equalsIgnoreCase("org.eclipse.update.core.tests.feature3_1.0.0"));
-
- // test only 2 install config in local site
- assertTrue("wrong number of history in Local site",site.getConfigurationHistory().length==2);
-
- // test # of sites in current config
- assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfiguredSites().length==oldNumber);
-
- //test only one feature for the site
- assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==1);
-
- // test only 2 activities
- assertTrue("Wrong number of activities for install config",site.getCurrentConfiguration().getActivities().length==2);
-
-
- // cleanup
- localFile = new File(new URL(location,SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- localFile = new File(new URL(location,SiteLocal.DEFAULT_CONFIG_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature.getVersionedIdentifier().toString()).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)site.getCurrentConfiguration()).getURL().getFile()));
- UpdateManagerUtils.removeFromFileSystem(file);
- }
-
- public void testRetriveConfigHTTPInstall() throws Exception {
-
- //clean up
- SiteLocal siteLocal = (SiteLocal)SiteManager.getLocalSite();
- URL newURL = new URL(siteLocal.getLocationURL(),SiteLocal.SITE_LOCAL_FILE);
- File localFile = new File(newURL.getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)siteLocal.getCurrentConfiguration()).getURL().getFile()));
- InternalSiteManager.localSite=null;
-
- ILocalSite site = SiteManager.getLocalSite();
- ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE);
- IFeature feature = remoteSite.getFeatureReferences()[0].getFeature();
-
- // we are not checking if this is read only
- IInstallConfiguration newConfig = site.cloneCurrentConfiguration();
- newConfig.setLabel("new Label");
- IConfiguredSite configSite = newConfig.getConfiguredSites()[0];
- ConfigurationPolicyModel configPolicy = new BaseSiteLocalFactory().createConfigurationPolicyModel();
- configPolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE);
- ((ConfiguredSite)configSite).setConfigurationPolicy((ConfigurationPolicy)configPolicy);
- site.addConfiguration(newConfig);
- configSite.install(feature,null,null);
- site.save();
-
- //do not cleanup, we want to reuse previously created local site
- // but force re-read of xml File
- InternalSiteManager.localSite=null;
- site = SiteManager.getLocalSite();
- feature = remoteSite.getFeatureReferences()[0].getFeature();
- int oldNumber = site.getCurrentConfiguration().getConfiguredSites().length;
-
- // check
- // there are 2 configuration
- String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();
- URL location = ((SiteLocal)site).getLocationURL();
- File file = new File(new URL(location,"Config"+time+".xml").getFile());
- assertTrue("new configuration does not exist", file.exists());
-
- // teh current one points to a real fature
- // does not throw error.
- IConfiguredSite configSite2 = site.getCurrentConfiguration().getConfiguredSites()[0];
- IFeatureReference ref = configSite2.getConfiguredFeatures()[0];
- IFeature feature2 = ref.getFeature();
- //String configuredFeature = feature2.getLabel();
- assertEquals(feature2.getVersionedIdentifier().toString(),"org.test1.ident1_1.0.0");
- assertTrue("Wrong id version of feature",feature2.getVersionedIdentifier().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 same number of sites in current config
- assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfiguredSites().length==oldNumber);
-
- //test only one feature for the site
- assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==1);
-
- // test only 2 activities
- assertTrue("Wrong number of activities for install config",site.getCurrentConfiguration().getActivities().length==2);
-
-
- // cleanup
- localFile = new File(new URL(location,SiteLocal.SITE_LOCAL_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- localFile = new File(new URL(location,SiteLocal.DEFAULT_CONFIG_FILE).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature.getVersionedIdentifier().toString()).getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)site.getCurrentConfiguration()).getURL().getFile()));
- UpdateManagerUtils.removeFromFileSystem(file);
- localFile = new File(feature2.getURL().getFile());
- UpdateManagerUtils.removeFromFileSystem(localFile);
- }
-
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java
deleted file mode 100644
index b1cfed7..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java
+++ /dev/null
@@ -1,132 +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.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import org.eclipse.update.tests.UpdateTestsPlugin;
-
-public class TestSpaceInInstall extends UpdateManagerTestCase {
- /**
- * Constructor for Test1
- */
- public TestSpaceInInstall(String arg0) {
- super(arg0);
- }
-
- /**
- *
- */
- public void testSpaceInURL() throws Exception {
-
- //cleanup target
- URL testURL = new URL(TARGET_FILE_SITE,"test site space/");
- String testPath = testURL.getFile();
- File target = new File(testPath);
- UpdateManagerUtils.removeFromFileSystem(target);
-
- URL newURL = new File(dataPath + "Site with space/site.xml").toURL();
- ISite remoteSite = SiteManager.getSite(newURL);
- IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();
- ISite localSite = SiteManager.getSite(testURL);
- 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,null);
-
- if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;
- if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) execFeature = true;
-
- // verify
- String site = testURL.getFile();
- IPluginEntry[] entries = remoteFeature.getPluginEntries();
- assertTrue("no plugins entry", (entries != null && entries.length != 0));
- String pluginName = entries[0].getVersionedIdentifier().toString();
- File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
- assertTrue("plugin files not installed locally", pluginFile.exists());
-
- File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());
- assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());
-
- File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");
- assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());
- }
-
- if (!execFeature && !packFeature){
- fail("cannot find one executable and one package feature on teh site");
- }
-
- //cleanup target
- UpdateManagerUtils.removeFromFileSystem(target);
-
-
- }
-
-
- /**
- *
- */
- public void testSpaceInHTTPURL() throws Exception {
-
- //cleanup target
- File target = new File(TARGET_FILE_SITE.getFile());
- UpdateManagerUtils.removeFromFileSystem(target);
-
- String path = bundle.getString("HTTP_PATH_3");
- ISite remoteSite = SiteManager.getSite(new URL("http",getHttpHost(),getHttpPort(),path));
- 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,null);
-
- if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;
- if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) execFeature = true;
-
- // verify
- String site = TARGET_FILE_SITE.getFile();
- IPluginEntry[] entries = remoteFeature.getPluginEntries();
- assertTrue("no plugins entry", (entries != null && entries.length != 0));
- String pluginName = entries[0].getVersionedIdentifier().toString();
- File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
- assertTrue("plugin files not installed locally", pluginFile.exists());
-
- File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());
- assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());
-
- File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");
- assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());
- }
-
- if (!execFeature && !packFeature){
- fail("cannot find one executable and one package feature on teh site");
- }
-
- //cleanup target
- UpdateManagerUtils.removeFromFileSystem(target);
-
-
- }
-
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java
deleted file mode 100644
index 04bc913..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.update.tests.regularRemove;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import junit.framework.*;
-
-
-public class AllRegularRemoveTests extends UpdateManagerTestCase {
-public AllRegularRemoveTests(String name) {
- super(name);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.setName("Regular Remove Tests");
-
- suite.addTest(new TestSuite(TestRemove.class));
-
- return suite;
-}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.java
deleted file mode 100644
index 6586388..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.eclipse.update.tests.regularRemove;
-/*
- * (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.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import org.eclipse.update.tests.api.DefaultFeature;
-
-public class TestRemove extends UpdateManagerTestCase {
-
-
- public class Listener implements IConfiguredSiteChangedListener{
-
- public boolean notified = false;
-
- /*
- * @see IConfiguredSiteChangedListener#featureInstalled(IFeature)
- */
- public void featureInstalled(IFeature feature) {
- notified = true;
- System.out.println("Notified DefaultFeature Installed");
- }
-
- /*
- * @see IConfiguredSiteChangedListener#featureUninstalled(IFeature)
- */
- public void featureUninstalled(IFeature feature) {}
-
- public boolean isNotified() {
- return notified;
- }
-}
-
- /**
- * Constructor for Test1
- */
- public TestRemove(String arg0) {
- super(arg0);
- }
-
- private IFeature getFeature1(ISite site) throws MalformedURLException, CoreException {
- //URL url = UpdateManagerUtils.getURL(site.getURL(), "features/org.eclipse.update.core.tests.feature1_1.0.4.jar", null);
- FeatureReference ref = new FeatureReference();
- ref.setSite(site);
- ref.setURLString("features/org.eclipse.update.core.tests.feature1_1.0.4.jar");
- ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
- ref.resolve(site.getURL(),null);
- return ref.getFeature();
- }
-
- public void testRemoveFeature() throws Exception {
-
-
- // install feature
- ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE);
- IFeature remoteFeature = getFeature1(remoteSite);
- ISite localSite = SiteManager.getSite(TARGET_FILE_SITE);
- IFeatureReference ref = localSite.install(remoteFeature,null, null);
-
- // then remove it
- String featureRef = ref.getFeature().getVersionedIdentifier().toString();
- localSite.remove(ref.getFeature(),null);
-
- // verify
- String site = TARGET_FILE_SITE.getFile();
- IPluginEntry[] entries = remoteFeature.getPluginEntries();
- assertTrue("no plugins entry", (entries != null && entries.length != 0));
- String pluginName = entries[0].getVersionedIdentifier().toString();
-
- File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
- assertTrue("plugin files installed locally", !pluginFile.exists());
-
- File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH +featureRef);
- assertTrue("feature info installed locally:"+featureFile, !featureFile.exists());
-
- }
-
-
-
-
-
-
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.java
deleted file mode 100644
index acdad72..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java
deleted file mode 100644
index 6e5a851..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java
deleted file mode 100644
index 3592050..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.update.tests.types;
-/*
- * (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.internal.core.FeaturePackagedContentProvider;
-import org.eclipse.update.internal.core.SiteURLContentProvider;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import org.eclipse.update.tests.implementation.SiteFTPFactory;
-
-public class TestSiteType extends UpdateManagerTestCase {
-
- /**
- * Test the getFeatures()
- */
- public TestSiteType(String arg0) {
- super(arg0);
- }
-
- /**
- * @throws Exception
- */
- public void testSiteType() throws Exception {
-
- String featurePath = dataPath + "SiteTypeExamples/site1/site.xml";
- ISite site = SiteManager.getSite(new File(featurePath).toURL());
- IFeatureReference ref = site.getFeatureReferences()[0];
- IFeature feature = ref.getFeature();
-
- assertTrue(site.getSiteContentProvider() instanceof SiteURLContentProvider);
- assertTrue(((Site) site).getType().equals("org.eclipse.update.core.http"));
- assertTrue(feature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider);
-
- }
-
- /**
- * @throws Exception
- */
- public void testFTPSiteType() throws Exception {
-
- ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE + "FTPLikeSite/"));
-
- // should not find the mapping
- // but then should attempt to read the XML file
- // found a new type
- // call the new type
- assertTrue(
- "Wrong site type",
- site.getType().equals("org.eclipse.update.tests.ftp"));
- assertTrue(
- "Wrong file",
- site.getURL().getFile().equals("/" + SiteFTPFactory.FILE));
-
- }
-
- public void testParseValid1() throws Exception {
- try {
- URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/siteftp.xml");
- ISite site = SiteManager.getSite(remoteURL);
- site.getArchives();
- } catch (CoreException e) {
- if (e.getMessage().indexOf("</feature>") == -1) {
- throw e;
- }
- }
- }
-
-}
\ No newline at end of file
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 74db585..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 e6a011f..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}/plugins/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.tests.core/webserver/Site with space/features space/helpFeature.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/features space/helpFeature.jar
deleted file mode 100644
index 9809713..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/features space/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar
deleted file mode 100644
index 5039d7b..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html b/update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-</head>
- <body>
-<img src="img/top_titlsm.gif" alt="" width="460" height="50">
-<br>
-<br>
- It started with Smalltalk<br>
- OTI has been building tools for platform-independent OO development since
- 1988. Our ENVY® 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® Smalltalk.<br>
-<br>
-<br>
-<br>
- Next came Java™<br>
- Because of our expertise in OO technology, IBM turned to OTI for a next-generation
- development environment for Java. The result is VisualAge for Java, which
- continues to win awards for its innovative IDE and team support. InfoWorld
- has chosen VisualAge for Java as development tool of the year - year after
- year after year!<br>
-<br>
-<br>
-<br>
- Then pervasive computing<br>
- OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art
- platform for collaborative development of embedded applications and systems
- that are very lean. As the steady stream of press releases attests, VisualAge
- Micro Edition is already licensed to the leading microchip manufacturers,
- microkernel developers, and producers of handheld and consumer devices.<br>
-<br>
-<br>
-<br>
- Now it's Eclipse<br>
- OTI has built the next generation IBM application development tools platform.
- Eclipse is a kind of universal tool platform - an open extensible IDE for
- anything and nothing in particular. The real value comes from tool plug-ins
- that "teach" Eclipse how to work with things - java files, web content,
-graphics, video - almost anything you can imagine. Eclipse allows you to
-independently develop tools that integrate with other people's tools so
-seamlessly you won't know where one tool ends and another starts. The IBM
-supported version of this technology, WebSphere Studio Workbench, will be
-the core of the next generation of IBM and IBM Business Partner e-business
-tools optimized for the WebSphere software platform.<br>
-<br>
-<br>
-<br>
- So what's next?<br>
- OTI continues to deliver object-oriented technology that scales across
- platforms, across teams and across project size. From a mainframe to a
-watch - we're closing in on that vision.<br>
-<br>
-<img src="img/wel_ml.jpg" width="460" height="460" alt="">
-<br>
-<br>
-<br>
-<br>
-<br>
-<br>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml b/update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml
deleted file mode 100644
index 67741d9..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
- <description>Description</description>
- <copyright>copyright</copyright>
- <license>license</license>
- <url>
- <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>
- <discovery label="Discovery 1" url="http://www.eclipse.org"/>
- <discovery label="Discovery 2" url="http://www.eclipse.org"/>
- </url>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/site.xml b/update/org.eclipse.update.tests.core/webserver/Site with space/site.xml
deleted file mode 100644
index b5d4bbf..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/site.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-<description url="info/siteInfo.html"/>
- <feature url="features space/helpFeature.jar">
- <category name="eclipse/UML"/>
- </feature>
- <feature url="features space/space feature.jar">
- <category name="eclipse/J2EE"/>
- </feature>
-
- <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins space/help.jar"/>
- <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins space/Pde_core.jar"/>
- <archive path="plugins/org.junit_3.5.0.jar" url="plugins space/junit_3.7.jar"/>
- <archive path="plugins/org.eclipse.update.plugin1_1.1.1" url="plugins space/org.eclipse.update.plugin1_1.1.1"/>
- <category-def label="IBM WSAD Tools" name="eclipse"/>
- <category-def label="J2EE tools" name="eclipse/J2EE"/>
- <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>
- <category-def label="UML tools" name="eclipse/UML"/>
- <category-def label="Messaging Tools" name="B2B"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar
deleted file mode 100644
index 9809713..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar
deleted file mode 100644
index b5f241a..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html b/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-</head>
- <body>
-<img src="img/top_titlsm.gif" alt="" width="460" height="50">
-<br>
-<br>
- It started with Smalltalk<br>
- OTI has been building tools for platform-independent OO development since
- 1988. Our ENVY® 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® Smalltalk.<br>
-<br>
-<br>
-<br>
- Next came Java™<br>
- Because of our expertise in OO technology, IBM turned to OTI for a next-generation
- development environment for Java. The result is VisualAge for Java, which
- continues to win awards for its innovative IDE and team support. InfoWorld
- has chosen VisualAge for Java as development tool of the year - year after
- year after year!<br>
-<br>
-<br>
-<br>
- Then pervasive computing<br>
- OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art
- platform for collaborative development of embedded applications and systems
- that are very lean. As the steady stream of press releases attests, VisualAge
- Micro Edition is already licensed to the leading microchip manufacturers,
- microkernel developers, and producers of handheld and consumer devices.<br>
-<br>
-<br>
-<br>
- Now it's Eclipse<br>
- OTI has built the next generation IBM application development tools platform.
- Eclipse is a kind of universal tool platform - an open extensible IDE for
- anything and nothing in particular. The real value comes from tool plug-ins
- that "teach" Eclipse how to work with things - java files, web content,
-graphics, video - almost anything you can imagine. Eclipse allows you to
-independently develop tools that integrate with other people's tools so
-seamlessly you won't know where one tool ends and another starts. The IBM
-supported version of this technology, WebSphere Studio Workbench, will be
-the core of the next generation of IBM and IBM Business Partner e-business
-tools optimized for the WebSphere software platform.<br>
-<br>
-<br>
-<br>
- So what's next?<br>
- OTI continues to deliver object-oriented technology that scales across
- platforms, across teams and across project size. From a mainframe to a
-watch - we're closing in on that vision.<br>
-<br>
-<img src="img/wel_ml.jpg" width="460" height="460" alt="">
-<br>
-<br>
-<br>
-<br>
-<br>
-<br>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml b/update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml
deleted file mode 100644
index 5e5fda7..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site >
-<description url="info/siteInfo.html"/>
- <feature url="features/helpFeature.jar">
- <category name="eclipse/UML"/>
- </feature>
- <feature url="features/org.eclipse.pde.feature_1.0.0.jar">
- <category name="eclipse/J2EE"/>
- </feature>
- <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins/help.jar"/>
- <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins/Pde_core.jar"/>
- <archive path="plugins/org.junit_3.5.0.jar" url="plugins/junit_3.7.jar"/>
- <category-def label="IBM WSAD Tools" name="eclipse"/>
- <category-def label="J2EE tools" name="eclipse/J2EE"/>
- <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>
- <category-def label="UML tools" name="eclipse/UML"/>
- <category-def label="Messaging Tools" name="B2B"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar
deleted file mode 100644
index 0420da6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar
deleted file mode 100644
index 870a70d..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
deleted file mode 100644
index 6afaca7..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar
deleted file mode 100644
index 72bb15e..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar
deleted file mode 100644
index 639ac8c..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
deleted file mode 100644
index d6737f6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index eb8690f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index 90a612f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties
deleted file mode 100644
index 211986b..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-drivers=Required Drivers
-security=Security Fixes
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml
deleted file mode 100644
index 657d9b2..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1">
- <feature url="features/org.eclipse.test.feature_1.0.0.jar">
- <category name="category1"/>
- </feature>
- <feature url="features/features2.jar">
- <category name="category1/subcat1"/>
- <category name="category2"/>
- </feature>
- <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">
- <category name="category1"/>
- <category name="category2"/>
- </feature>
- <feature url="features/org.eclipse_test_feature.jar"/>
- <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
- <category name="category1"/>
- </feature>
- <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
- </feature>
-
- <category-def name="category1/subcat1" label="Special Fix"/>
- <category-def name="category1" label="%drivers"/>
- <category-def name="category2" label="%security"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml b/update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml
deleted file mode 100644
index 1a6d904..0000000
--- a/update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-
-<!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
- "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
-
-<web-app>
-
-</web-app>
diff --git a/update/org.eclipse.update.ui.forms/.classpath b/update/org.eclipse.update.ui.forms/.classpath
deleted file mode 100644
index b76e4de..0000000
--- a/update/org.eclipse.update.ui.forms/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src/"/>
- <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
- <classpathentry kind="src" path="/org.eclipse.ui"/>
- <classpathentry kind="src" path="/org.apache.xerces"/>
- <classpathentry kind="src" path="/org.eclipse.core.boot"/>
- <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.ui.forms/.cvsignore b/update/org.eclipse.update.ui.forms/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.ui.forms/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/.project b/update/org.eclipse.update.ui.forms/.project
deleted file mode 100644
index 8c135ef..0000000
--- a/update/org.eclipse.update.ui.forms/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.update.ui.forms</name>
- <comment></comment>
- <projects>
- <project>org.apache.xerces</project>
- <project>org.eclipse.core.boot</project>
- <project>org.eclipse.core.runtime</project>
- <project>org.eclipse.ui</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ui.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ui.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.ui.PluginNature</nature>
- <nature>org.eclipse.team.cvs.core.cvsnature</nature>
- </natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.ui.forms/about.html b/update/org.eclipse.update.ui.forms/about.html
deleted file mode 100644
index 768324e..0000000
--- a/update/org.eclipse.update.ui.forms/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>
-<head>
-<title>About</title>
-<style type="text/css">
-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}
-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
-code { font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup { font-family: arial,helvetica,geneva; font-size: 10px}
-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li { font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect( ); margin-top: 5mm; margin-left: 3mm}
-</style>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<table border="0" cellspacing="5" cellpadding="2" width="100%" >
- <tr>
- <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>
- </tr>
- <tr>
- <td>
-<p>11th December, 2001</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in "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, "Program" will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL "Other License", any modifications, enhancements and/or
-other code and/or documentation "Modifications" uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-</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.properties b/update/org.eclipse.update.ui.forms/plugin.properties
deleted file mode 100644
index f73bcad..0000000
--- a/update/org.eclipse.update.ui.forms/plugin.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# plugin.xml properties
-#
-
-name = Install/Update Forms
-
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 b35c62e..0000000
--- a/update/org.eclipse.update.ui.forms/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- id="org.eclipse.update.ui.forms"
- name="%name"
- version="2.0.0"
- provider-name="International Business Machines Corp."
- class="">
-
- <runtime>
- <library name="forms.jar">
- <export name="*"/>
- </library>
- </runtime>
- <requires>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.apache.xerces"/>
- </requires>
-
-
-</plugin>
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java
deleted file mode 100644
index 4e248da..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java
+++ /dev/null
@@ -1,226 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.jface.util.*;
-import org.eclipse.ui.*;
-
-/**
- * This class implements IForm interface and
- * provides some common services to its subclasses.
- * It handles some common properties like heading
- * text, image and colors, as well as
- * font change processing.
- */
-
-public abstract class AbstractForm implements IForm, IPropertyChangeListener {
- protected FormWidgetFactory factory;
- protected Color headingBackground;
- protected Color headingForeground;
- protected boolean headingVisible=true;
- protected Image headingImage;
- protected String headingText;
- protected Font titleFont;
-
- public AbstractForm() {
- factory = new FormWidgetFactory();
- titleFont = JFaceResources.getHeaderFont();
- JFaceResources.getFontRegistry().addListener(this);
- }
-
- /**
- * @see IForm#commitChanges(boolean)
- */
- public void commitChanges(boolean onSave) {
- }
-
-
- /**
- * @see IForm#createControl(Composite)
- */
- public abstract Control createControl(Composite parent);
-
- /**
- * @see IForm#dispose()
- */
- public void dispose() {
- factory.dispose();
- JFaceResources.getFontRegistry().removeListener(this);
- }
-
-
- /**
- * @see IForm#doGlobalAction(String)
- */
- public boolean doGlobalAction(String actionId) {
- return false;
- }
-
-
- /**
- * @see IForm#expandTo(Object)
- */
- public void expandTo(Object object) {
- }
-
-
- /**
- * @see IForm#getControl()
- */
- public abstract Control getControl();
-
- /**
- * @see IForm#getFactory()
- */
- public FormWidgetFactory getFactory() {
- return factory;
- }
-
-
- /**
- * @see IForm#getHeadingBackground()
- */
- public Color getHeadingBackground() {
- return headingBackground;
- }
-
-
- /**
- * @see IForm#getHeadingForeground()
- */
- public Color getHeadingForeground() {
- return headingForeground;
- }
-
-
- /**
- * @see IForm#getHeadingImage()
- */
- public Image getHeadingImage() {
- return headingImage;
- }
-
-
- /**
- * @see IForm#getHeading()
- */
- public String getHeadingText() {
- if (headingText==null) return "";
- return headingText;
- }
-
-
- /**
- * @see IForm#initialize(Object)
- */
- public void initialize(Object model) {
- }
-
-
- /**
- * @see IForm#isHeadingVisible()
- */
- public boolean isHeadingVisible() {
- return headingVisible;
- }
-
-
- /**
- * @see IForm#registerSection(FormSection)
- */
- public void registerSection(FormSection section) {
- }
-
-
- /**
- * @see IForm#setFocus()
- */
- public void setFocus() {
- }
-
-
- /**
- * @see IForm#setHeadingBackground(Color)
- */
- public void setHeadingBackground(Color newHeadingBackground) {
- this.headingBackground = newHeadingBackground;
- }
-
-
- /**
- * @see IForm#setHeadingForeground(Color)
- */
- public void setHeadingForeground(Color newHeadingForeground) {
- this.headingForeground = newHeadingForeground;
- }
-
-
- /**
- * @see IForm#setHeadingImage(Image)
- */
- public void setHeadingImage(Image headingImage) {
- this.headingImage = headingImage;
- }
-
-
- /**
- * @see IForm#setHeadingVisible(boolean)
- */
- public void setHeadingVisible(boolean newHeadingVisible) {
- this.headingVisible = newHeadingVisible;
- }
-
-
- /**
- * @see IForm#setHeading(String)
- */
- public void setHeadingText(String headingText) {
- this.headingText = headingText;
- }
-
-
- /**
- * @see IForm#update()
- */
- public void update() {
- }
-
-protected boolean canPerformDirectly(String id, Control control) {
- if (control instanceof Text) {
- Text text = (Text)control;
- if (id.equals(IWorkbenchActionConstants.CUT)) {
- text.cut();
- return true;
- }
- if (id.equals(IWorkbenchActionConstants.COPY)) {
- text.copy();
- return true;
- }
- if (id.equals(IWorkbenchActionConstants.PASTE)) {
- text.paste();
- return true;
- }
- if (id.equals(IWorkbenchActionConstants.SELECT_ALL)) {
- text.selectAll();
- return true;
- }
- if (id.equals(IWorkbenchActionConstants.DELETE)) {
- int count = text.getSelectionCount();
- if (count==0) {
- int caretPos = text.getCaretPosition();
- text.setSelection(caretPos, caretPos+1);
- }
- text.insert("");
- return true;
- }
- }
- return false;
-}
-
-
-}
-
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java
deleted file mode 100644
index 6dccc9c..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import java.util.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.*;
-
-/**
- * This form class understands form sections.
- * It assumes that they are part of the form
- * and it offers life cycle handling of sections
- * once they are registered.
- */
-
-public abstract class AbstractSectionForm extends AbstractForm {
- protected Vector sections = null;
-
- public void registerSection(FormSection section) {
- if (sections == null)
- sections = new Vector();
- if (!sections.contains(section))
- sections.add(section);
- }
-
- public void unregisterSection(FormSection section) {
- if (sections != null && sections.contains(section))
- sections.remove(section);
- }
-
- public void initialize(Object model) {
- if (sections != null) {
- for (Iterator iter = sections.iterator(); iter.hasNext();) {
- FormSection section = (FormSection) iter.next();
- section.initialize(model);
- }
- }
- }
-
- public void setFocus() {
- if (sections != null && sections.size() > 0) {
- FormSection firstSection = (FormSection) sections.firstElement();
- firstSection.setFocus();
- }
- }
-
- public void update() {
- if (sections != null) {
- for (Iterator iter = sections.iterator(); iter.hasNext();) {
- FormSection section = (FormSection) iter.next();
- section.update();
- }
- }
- }
-
- public void commitChanges(boolean onSave) {
- if (sections != null) {
- for (Iterator iter = sections.iterator(); iter.hasNext();) {
- FormSection section = (FormSection) iter.next();
- if (section.isDirty())
- section.commitChanges(onSave);
- }
- }
- }
-
- public boolean doGlobalAction(String actionId) {
- Control focusControl = getFocusControl();
- if (focusControl == null)
- return false;
-
- if (canPerformDirectly(actionId, focusControl))
- return true;
- Composite parent = focusControl.getParent();
- FormSection targetSection = null;
- while (parent != null) {
- Object data = parent.getData();
- if (data != null && data instanceof FormSection) {
- targetSection = (FormSection) data;
- break;
- }
- parent = parent.getParent();
- }
- if (targetSection != null) {
- return targetSection.doGlobalAction(actionId);
- }
- return false;
- }
-
- protected Control getFocusControl() {
- Control control = getControl();
- if (control == null || control.isDisposed())
- return null;
- Display display = control.getDisplay();
- Control focusControl = display.getFocusControl();
- if (focusControl == null || focusControl.isDisposed())
- return null;
- return focusControl;
- }
-
- public boolean canPaste(Clipboard clipboard) {
- Control focusControl = getFocusControl();
- if (focusControl == null)
- return false;
- Composite parent = focusControl.getParent();
- FormSection targetSection = null;
- while (parent != null) {
- Object data = parent.getData();
- if (data != null && data instanceof FormSection) {
- targetSection = (FormSection) data;
- break;
- }
- parent = parent.getParent();
- }
- if (targetSection != null) {
- return targetSection.canPaste(clipboard);
- }
- return false;
- }
-
- public void dispose() {
- if (sections != null) {
- for (Iterator iter = sections.iterator(); iter.hasNext();) {
- FormSection section = (FormSection) iter.next();
- section.dispose();
- }
- }
- super.dispose();
- }
-
- public static void ensureVisible(ScrolledComposite scomp, Control control) {
- Point controlSize = control.getSize();
- Rectangle area = scomp.getClientArea();
- Point areaOrigin = scomp.toDisplay(new Point(area.x, area.y));
-
- Point scompOrigin = scomp.toDisplay(scomp.getOrigin());
- Point controlOrigin = control.toDisplay(control.getLocation());
-
- int x = scompOrigin.x;
- int y = scompOrigin.y;
-
- if (controlOrigin.x < scompOrigin.x) {
- x = Math.max(areaOrigin.x, controlOrigin.x);
- }
- if (controlOrigin.y < scompOrigin.y) {
- y = Math.max(areaOrigin.y, controlOrigin.y);
- }
- if (controlOrigin.x + controlSize.x > scompOrigin.x + area.width) {
- x = Math.max(areaOrigin.x, controlOrigin.x + controlSize.x - area.width);
- }
- if (controlOrigin.y + controlSize.y > scompOrigin.y + area.height) {
- y = Math.max(areaOrigin.y, controlOrigin.y + controlSize.y - area.height);
- }
- scomp.setOrigin(scomp.toControl(new Point(x, y)));
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java
deleted file mode 100644
index 34aa1a9..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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/internal/ExpandableGroup.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ExpandableGroup.java
deleted file mode 100644
index 99fb5fe..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ExpandableGroup.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-
-public abstract class ExpandableGroup {
- private String text;
- private boolean expanded;
- private Composite expansion;
- protected SelectableFormLabel textLabel;
- private Composite control;
- private int style;
- private boolean expandable=true;
-
-class ExpandableLayout extends Layout {
- protected void layout(Composite parent, boolean changed) {
- Rectangle clientArea = parent.getClientArea();
- Point size = textLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
- int x = 0;
- int y = 1;
-
- if (expandable) {
- x = 8 + 8;
- }
- textLabel.setBounds(x, y, size.x, size.y);
-
- if (expandable)
- y = Math.max(size.y, 8) + 2 + 2;
- else
- y = size.y + 2;
- if (expanded) {
- int areaWidth = clientArea.width - x;
- size = expansion.computeSize(areaWidth, SWT.DEFAULT, changed);
- expansion.setBounds(x, y, size.x, size.y);
- }
- }
-
- protected Point computeSize(Composite parent, int wHint, int hHint, boolean changed) {
- int width = 0, height = 0;
- Point size = textLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
- width = size.x;
- height = size.y + 2 + 2;
- if (expanded) {
- size = expansion.computeSize(wHint, SWT.DEFAULT, changed);
- width = Math.max(width, size.x);
- height += size.y;
- }
- if (expandable) {
- height = Math.max(height, 8);
- width += 8 + 8;
- }
- return new Point(width, height);
- }
-}
-
- public ExpandableGroup() {
- }
-
- public ExpandableGroup(int style) {
- this.style = style;
- }
-
- public Control getControl() {
- return control;
- }
-
- public void createControl(Composite parent, FormWidgetFactory factory) {
- final Canvas container = new Canvas(parent, SWT.NULL);
- container.setBackground(factory.getBackgroundColor());
- container.setLayout(new ExpandableLayout());
- container.addPaintListener(new PaintListener() {
- public void paintControl(PaintEvent e) {
- if (expandable) repaint(e);
- }
- });
- container.addMouseListener(new MouseAdapter() {
- public void mouseUp(MouseEvent e) {
- Rectangle box = getBoxBounds(null);
- if (box.contains(e.x, e.y)) {
- setExpanded(!isExpanded());
- }
- }
- });
- textLabel = createTextLabel(container, factory);
- getHyperlinkHandler(factory).registerHyperlink(textLabel, new HyperlinkAdapter () {
- public void linkActivated(Control link) {
- ExpandableGroup.this.linkActivated();
- if (expandable) setExpanded(!isExpanded());
- }
- });
- if (text!=null) textLabel.setText(text);
- expansion = factory.createComposite(container);
- fillExpansion(expansion, factory);
- this.control = container;
- }
-
- protected SelectableFormLabel createTextLabel(Composite parent, FormWidgetFactory factory) {
- SelectableFormLabel text = new SelectableFormLabel(parent, SWT.WRAP);
- text.setBackground(factory.getBackgroundColor());
- return text;
- }
-
- protected HyperlinkHandler getHyperlinkHandler(FormWidgetFactory factory) {
- return factory.getHyperlinkHandler();
- }
-
- public abstract void fillExpansion(Composite expansion, FormWidgetFactory factory);
-
- public void setText(String text) {
- this.text = text;
- if (textLabel!=null)
- textLabel.setText(text);
- }
-
- public String getText() {
- return text;
- }
-
- public boolean isExpanded() {
- return expanded;
- }
-
- public void setExpandable(boolean expandable) {
- this.expandable = expandable;
- }
-
- public boolean isExpandable() {
- return expandable;
- }
-
- public void setExpanded(boolean expanded) {
- if (this.expanded != expanded) {
- if (expanded) {
- aboutToExpand();
- }
- else {
- aboutToCollapse();
- }
- this.expanded = expanded;
- expansion.setVisible(expanded);
- control.layout();
- if (expanded) {
- this.expanded();
- }
- else {
- collapsed();
- }
- }
- }
-
- private void repaint(PaintEvent e) {
- GC gc = e.gc;
- Rectangle box = getBoxBounds(gc);
- gc.setForeground(control.getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW));
- gc.drawRectangle(box);
- gc.setForeground(control.getDisplay().getSystemColor(SWT.COLOR_LIST_FOREGROUND));
- gc.drawLine(box.x+2, box.y+4, box.x+6, box.y+4);
- if (!isExpanded()) {
- gc.drawLine(box.x+4, box.y+2, box.x+4, box.y+6);
- }
- }
-
- private Rectangle getBoxBounds(GC gc) {
- int x = 0;
- int y = 0;
- boolean noGC = false;
-
- if (gc==null) {
- gc = new GC(control);
- noGC = true;
- }
- gc.setFont(textLabel.getFont());
- int height = gc.getFontMetrics().getHeight();
- y = height/2 - 4 +1;
- y = Math.max(y, 0);
- if (noGC) gc.dispose();
- return new Rectangle(x, y, 8, 8);
- }
-
- protected void updateLayout() {
- control.layout();
- }
-
- protected void aboutToExpand() {
- }
-
- protected void aboutToCollapse() {
- }
-
- protected void expanded() {
- }
- protected void collapsed() {
- }
- protected void linkActivated() {
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.java
deleted file mode 100644
index 5d7f87f..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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 Image getDisabledImage() {
- return disabledImage;
-}
-public Image getHoverImage() {
- return hoverImage;
-}
-public Image getImage() {
- return image;
-}
-public void setDisabledImage(Image newDisabledImage) {
- disabledImage = newDisabledImage;
-}
-public void setEnabled(boolean enabled) {
- button.setEnabled(enabled);
- updateImage();
-}
-public void setHoverImage(Image newHoverImage) {
- hoverImage = newHoverImage;
-}
-public void setImage(Image newImage) {
- image = newImage;
- if (hoverImage==null) hoverImage = image;
- if (disabledImage==null) disabledImage = image;
- updateImage();
-}
-public void updateImage() {
- boolean enabled = button.isEnabled();
- if (enabled == false) {
- button.setImage(disabledImage);
- } else {
- if (inside) {
- button.setCursor(factory.getHyperlinkCursor());
- button.setImage(hoverImage);
- } else {
- button.setCursor(null);
- button.setImage(image);
- }
- }
-}
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java
deleted file mode 100644
index a7b12e1..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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!=null?value:""); // restore old
- dirty= false;
- }
-}
-public void removeFormTextListener(IFormTextListener listener) {
- listeners.removeElement(listener);
-}
-public void setDirty(boolean newDirty) {
- dirty = newDirty;
-}
-public void setValue(String value) {
- if (text!=null) text.setText(value!=null?value:"");
- this.value = value;
-}
-
-public void setValue(String value, boolean blockNotification) {
- ignoreModify = blockNotification;
- setValue(value);
- ignoreModify = false;
-}
-
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java
deleted file mode 100644
index 8c16b5f..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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) {
- if (text!=null)
- this.text = text;
- else
- 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/internal/FormSection.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormSection.java
deleted file mode 100644
index 52ac19e..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormSection.java
+++ /dev/null
@@ -1,416 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.*;
-import org.eclipse.jface.util.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.dnd.Clipboard;
-
-public abstract class FormSection implements IPropertyChangeListener {
- public static final int SELECTION = 1;
- private String headerColorKey = FormWidgetFactory.DEFAULT_HEADER_COLOR;
- private String headerText;
- private Control client;
- protected Label header;
- protected Control separator;
- private SectionChangeManager sectionManager;
- private String description;
- private boolean dirty;
- protected Label descriptionLabel;
- private ToggleControl toggle;
- private boolean readOnly;
- private boolean addSeparator = true;
- private boolean descriptionPainted = true;
- private boolean headerPainted = true;
- private boolean collapsable = false;
- private boolean collapsed = false;
- private int widthHint = SWT.DEFAULT;
- private int heightHint = SWT.DEFAULT;
- private Composite control;
-
- /*
- * This is a special layout for the section. Both the
- * header and the description labels will wrap and
- * they will use client's size to calculate needed
- * height. This kind of behaviour is not possible
- * with stock grid layout.
- */
- class SectionLayout extends Layout {
- int vspacing = 3;
- int sepHeight = 2;
-
- protected Point computeSize(
- Composite parent,
- int wHint,
- int hHint,
- boolean flush) {
- int width = 0;
- int height = 0;
- int cwidth = 0;
- int collapsedHeight = 0;
-
- if (wHint != SWT.DEFAULT)
- width = wHint;
- if (hHint != SWT.DEFAULT)
- height = hHint;
-
- cwidth = width;
-
- if (client != null) {
- Point csize = client.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);
- if (width == 0) {
- width = csize.x;
- cwidth = width;
- }
- if (height == 0)
- height = csize.y;
- }
-
- Point toggleSize = null;
-
- if (collapsable && toggle != null)
- toggleSize = toggle.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);
-
- if (hHint == SWT.DEFAULT && headerPainted && header != null) {
- int hwidth = cwidth;
- if (toggleSize != null)
- hwidth = cwidth - toggleSize.x - 5;
- Point hsize = header.computeSize(hwidth, SWT.DEFAULT, flush);
- height += hsize.y;
- collapsedHeight = hsize.y;
- height += vspacing;
- }
-
- if (hHint == SWT.DEFAULT && addSeparator) {
- height += sepHeight;
- height += vspacing;
- collapsedHeight += vspacing + sepHeight;
- }
- if (hHint == SWT.DEFAULT && descriptionPainted && descriptionLabel != null) {
- Point dsize = descriptionLabel.computeSize(cwidth, SWT.DEFAULT, flush);
- height += dsize.y;
- height += vspacing;
- }
- if (toggle != null && toggle.getSelection()) {
- // collapsed state
- height = collapsedHeight;
- }
- return new Point(width, height);
- }
- protected void layout(Composite parent, boolean flush) {
- int width = parent.getClientArea().width;
- int height = parent.getClientArea().height;
- int y = 0;
- Point toggleSize = null;
-
- if (collapsable) {
- toggleSize = toggle.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);
- }
- if (headerPainted && header != null) {
- Point hsize;
-
- int availableWidth = width;
- if (toggleSize != null)
- availableWidth = width - toggleSize.x - 5;
- hsize = header.computeSize(availableWidth, SWT.DEFAULT, flush);
- int hx = 0;
- if (toggle != null) {
- int ty = y + hsize.y - toggleSize.y;
- toggle.setBounds(0, ty, toggleSize.x, toggleSize.y);
- hx = toggleSize.x; // + 5;
- }
- header.setBounds(hx, y, availableWidth, hsize.y);
-
- y += hsize.y + vspacing;
- }
- if (addSeparator && separator != null) {
- separator.setBounds(0, y, width, 2);
- y += sepHeight + vspacing;
- }
- if (toggle != null && toggle.getSelection()) {
- return;
- }
- if (descriptionPainted && descriptionLabel != null) {
- Point dsize = descriptionLabel.computeSize(width, SWT.DEFAULT, flush);
- descriptionLabel.setBounds(0, y, width, dsize.y);
- y += dsize.y + vspacing;
- }
- if (client != null) {
- client.setBounds(0, y, width, height - y);
- }
- }
- }
-
- public FormSection() {
- // Description causes problems re word wrapping
- // and causes bad layout in schema and
- // feature editors when in Motif - turning off
- if (SWT.getPlatform().equals("motif")) {
- descriptionPainted = false;
- }
- JFaceResources.getFontRegistry().addListener(this);
- }
- public void commitChanges(boolean onSave) {
- }
- public abstract Composite createClient(
- Composite parent,
- FormWidgetFactory factory);
- public final Control createControl(
- Composite parent,
- final FormWidgetFactory factory) {
- Composite section = factory.createComposite(parent);
- SectionLayout slayout = new SectionLayout();
- section.setLayout(slayout);
- section.setData(this);
-
- if (headerPainted) {
- Color headerColor = factory.getColor(getHeaderColorKey());
- header =
- factory.createHeadingLabel(section, getHeaderText(), headerColor, SWT.WRAP);
- if (collapsable) {
- toggle = new ToggleControl(section, SWT.NULL);
- toggle.setSelection(collapsed);
- toggle.setBackground(factory.getBackgroundColor());
- toggle.setActiveDecorationColor(factory.getHyperlinkColor());
- toggle.setDecorationColor(factory.getColor(factory.COLOR_COMPOSITE_SEPARATOR));
- toggle.setActiveCursor(factory.getHyperlinkCursor());
- toggle.addFocusListener(factory.visibilityHandler);
- toggle.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- doToggle();
- }
- });
- header.addMouseListener(new MouseAdapter() {
- public void mouseDown(MouseEvent e) {
- toggle.setSelection(!toggle.getSelection());
- toggle.redraw();
- doToggle();
- }
- });
- header.addMouseTrackListener(new MouseTrackAdapter() {
- public void mouseEnter(MouseEvent e) {
- header.setCursor(factory.getHyperlinkCursor());
- }
- public void mouseExit(MouseEvent e) {
- header.setCursor(null);
- }
- });
- }
- }
-
- if (addSeparator) {
- //separator = factory.createSeparator(section, SWT.HORIZONTAL);
- separator = factory.createCompositeSeparator(section);
- }
-
- if (descriptionPainted && description != null) {
- descriptionLabel = factory.createLabel(section, description, SWT.WRAP);
- }
- client = createClient(section, factory);
- section.setData(this);
- control = section;
- return section;
- }
-
- private void doToggle() {
- boolean collapsed = toggle.getSelection();
- reflow();
- if (descriptionLabel != null)
- descriptionLabel.setVisible(!collapsed);
- if (client != null)
- client.setVisible(!collapsed);
- }
-
- protected void reflow() {
- control.layout(true);
- control.getParent().layout(true);
- }
-
- protected Text createText(
- Composite parent,
- String label,
- FormWidgetFactory factory) {
- return createText(parent, label, factory, 1);
- }
- protected Text createText(
- Composite parent,
- String label,
- FormWidgetFactory factory,
- int span) {
- factory.createLabel(parent, label);
- Text text = factory.createText(parent, "");
- GridData gd =
- new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
- gd.grabExcessHorizontalSpace = true;
- gd.horizontalSpan = span;
- text.setLayoutData(gd);
- return text;
- }
- protected Text createText(
- Composite parent,
- FormWidgetFactory factory,
- int span) {
- Text text = factory.createText(parent, "");
- GridData gd =
- new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER);
- gd.grabExcessHorizontalSpace = true;
- gd.horizontalSpan = span;
- text.setLayoutData(gd);
- return text;
- }
- public void dispose() {
- JFaceResources.getFontRegistry().removeListener(this);
- }
- public boolean doGlobalAction(String actionId) {
- return false;
- }
- public void expandTo(Object object) {
- }
- public final void fireChangeNotification(int changeType, Object changeObject) {
- if (sectionManager == null)
- return;
- sectionManager.dispatchNotification(this, changeType, changeObject);
- }
- public final void fireSelectionNotification(Object changeObject) {
- fireChangeNotification(SELECTION, changeObject);
- }
- public java.lang.String getDescription() {
- return description;
- }
- public java.lang.String getHeaderColorKey() {
- return headerColorKey;
- }
- public java.lang.String getHeaderText() {
- return headerText;
- }
- public int getHeightHint() {
- return heightHint;
- }
- public int getWidthHint() {
- return widthHint;
- }
- public void initialize(Object input) {
- }
- public boolean isAddSeparator() {
- return addSeparator;
- }
- public boolean isDescriptionPainted() {
- return descriptionPainted;
- }
- public boolean isDirty() {
- return dirty;
- }
- public boolean isHeaderPainted() {
- return headerPainted;
- }
- public boolean isReadOnly() {
- return readOnly;
- }
- public void sectionChanged(
- FormSection source,
- int changeType,
- Object changeObject) {
- }
- public void setAddSeparator(boolean newAddSeparator) {
- addSeparator = newAddSeparator;
- }
-
- private String trimNewLines(String text) {
- StringBuffer buff = new StringBuffer();
- for (int i = 0; i < text.length(); i++) {
- char c = text.charAt(i);
- if (c == '\n')
- buff.append(' ');
- else
- buff.append(c);
- }
- return buff.toString();
- }
-
- public void setDescription(java.lang.String newDescription) {
- // we will trim the new lines so that we can
- // use layout-based word wrapping instead
- // of hard-coded one
- description = trimNewLines(newDescription);
- //description = newDescription;
- if (descriptionLabel != null)
- descriptionLabel.setText(newDescription);
- }
- public void setDescriptionPainted(boolean newDescriptionPainted) {
- descriptionPainted = newDescriptionPainted;
- }
- public void setDirty(boolean newDirty) {
- dirty = newDirty;
- }
- public void setFocus() {
- if (toggle!=null)
- toggle.setFocus();
- }
- public void setHeaderColorKey(java.lang.String newHeaderColorKey) {
- headerColorKey = newHeaderColorKey;
- }
- public void setHeaderPainted(boolean newHeaderPainted) {
- headerPainted = newHeaderPainted;
- }
- public void setHeaderText(java.lang.String newHeaderText) {
- headerText = newHeaderText;
- if (header != null)
- header.setText(headerText);
- }
- public void setHeightHint(int newHeightHint) {
- heightHint = newHeightHint;
- }
- void setManager(SectionChangeManager manager) {
- this.sectionManager = manager;
- }
- public void setReadOnly(boolean newReadOnly) {
- readOnly = newReadOnly;
- }
-
- public void setWidthHint(int newWidthHint) {
- widthHint = newWidthHint;
- }
-
- public void update() {
- }
-
- public void propertyChange(PropertyChangeEvent arg0) {
- if (control != null && header != null) {
- header.setFont(JFaceResources.getBannerFont());
- control.layout(true);
- }
- }
-
- /**
- * Gets the collapsable.
- * @return Returns a boolean
- */
- public boolean getCollapsable() {
- return collapsable;
- }
-
- /**
- * Sets the collapsable.
- * @param collapsable The collapsable to set
- */
- public void setCollapsable(boolean collapsable) {
- this.collapsable = collapsable;
- }
-
- public void setCollapsed(boolean collapsed) {
- this.collapsed = collapsed;
- }
-
- public boolean canPaste(Clipboard clipboard) {
- return false;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java
deleted file mode 100644
index 852f90d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java
+++ /dev/null
@@ -1,335 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.update.ui.forms.internal.engine.FormEngine;
-
-
-public class FormWidgetFactory {
- public static final String DEFAULT_HEADER_COLOR = "__default__header__";
- public static final String COLOR_BACKGROUND = "__bg";
- public static final String COLOR_BORDER = "__border";
- public static final String COLOR_COMPOSITE_SEPARATOR = "__compSep";
- public static final String COLOR_HYPERLINK="__hyperlink";
-
- private Hashtable colorRegistry = new Hashtable();
- private Color backgroundColor;
- private Color clientAreaColor;
- private KeyListener deleteListener;
- private Color foregroundColor;
- private Display display;
- public static final int BORDER_STYLE = SWT.NONE;//SWT.BORDER;
- private BorderPainter borderPainter;
- private Color borderColor;
- private HyperlinkHandler hyperlinkHandler;
- VisibilityHandler visibilityHandler;
-
-
- class BorderPainter implements PaintListener {
- public void paintControl(PaintEvent event) {
- Composite composite = (Composite) event.widget;
- Control[] children = composite.getChildren();
- for (int i = 0; i < children.length; i++) {
- Control c = children[i];
- if (c.isEnabled()==false) continue;
- if (c instanceof SelectableFormLabel) continue;
- if (c instanceof Text
- || c instanceof Canvas
- || c instanceof CCombo) {
- Rectangle b = c.getBounds();
- GC gc = event.gc;
- gc.setForeground(c.getBackground());
- gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1, b.height + 1);
- gc.setForeground(foregroundColor);
- gc.drawRectangle(b.x - 2, b.y - 2, b.width + 3, b.height + 3);
- }
- else if (c instanceof Table
- || c instanceof Tree
- || c instanceof TableTree) {
- Rectangle b = c.getBounds();
- GC gc = event.gc;
- gc.setForeground(borderColor);
- //gc.drawRectangle(b.x - 2, b.y - 2, b.width + 3, b.height + 3);
- gc.drawRectangle(b.x-1, b.y-1, b.width+2, b.height+2);
- }
- }
- }
- }
-
- class VisibilityHandler extends FocusAdapter {
- public void focusGained(FocusEvent e) {
- Widget w = e.widget;
- if (w instanceof Control) {
- ensureVisible((Control)w);
- }
- }
- }
-
-
-public FormWidgetFactory() {
- this(Display.getCurrent());
-}
-
-public FormWidgetFactory(Display display) {
- this.display = display;
- initialize();
-}
-
-public static void ensureVisible(Control c) {
- Composite parent = c.getParent();
-
- ScrolledComposite scomp = null;
-
- while (parent!=null) {
- if (parent instanceof ScrolledComposite) {
- scomp = (ScrolledComposite)parent;
- break;
- }
- parent = parent.getParent();
- }
- if (scomp!=null) {
- AbstractSectionForm.ensureVisible(scomp, c);
- }
-}
-
-public Button createButton(Composite parent, String text, int style) {
- int flatStyle = BORDER_STYLE == SWT.BORDER ? SWT.NULL : SWT.FLAT;
- //int flatStyle = SWT.NULL;
- Button button = new Button(parent, style | flatStyle);
- button.setBackground(backgroundColor);
- button.setForeground(foregroundColor);
- if (text!=null) button.setText(text);
- button.addFocusListener(visibilityHandler);
- return button;
-}
-public Composite createComposite(Composite parent) {
- return createComposite(parent, SWT.NULL);
-}
-public Composite createComposite(Composite parent, int style) {
- Composite composite = new Composite(parent, style);
- composite.setBackground(backgroundColor);
- composite.addMouseListener(new MouseAdapter() {
- public void mousePressed(MouseEvent e) {
- ((Control)e.widget).setFocus();
- }
- });
- return composite;
-}
-public Composite createCompositeSeparator(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- composite.setBackground(getColor(COLOR_COMPOSITE_SEPARATOR));
- return composite;
-}
-
-public Label createHeadingLabel(Composite parent, String text) {
- return createHeadingLabel(parent, text, null, SWT.NONE);
-}
-
-public Label createHeadingLabel(Composite parent, String text, int style) {
- return createHeadingLabel(parent, text, null, style);
-}
-
-public Label createHeadingLabel(Composite parent, String text, Color bg) {
- return createHeadingLabel(parent, text, bg, SWT.NONE);
-}
-
-public Label createHeadingLabel(Composite parent, String text, Color bg, int style) {
- Label label = new Label(parent, style);
- if (text!=null) label.setText(text);
- label.setBackground(backgroundColor);
- label.setForeground(foregroundColor);
- label.setFont(JFaceResources.getFontRegistry().get(JFaceResources.BANNER_FONT));
- return label;
-}
-
-public Label createHyperlinkLabel(Composite parent, String text, IHyperlinkListener listener) {
- return createHyperlinkLabel(parent, text, listener, SWT.NULL);
-}
-public Label createHyperlinkLabel(Composite parent, String text, IHyperlinkListener listener, int style) {
- Label label = createLabel(parent, text, style);
- turnIntoHyperlink(label, listener);
- return label;
-}
-public Label createLabel(Composite parent, String text) {
- return createLabel(parent, text, SWT.NONE);
-}
-public Label createLabel(Composite parent, String text, int style) {
- Label label = new Label(parent, style);
- if (text!=null) label.setText(text);
- label.setBackground(backgroundColor);
- label.setForeground(foregroundColor);
- return label;
-}
-
-public SelectableFormLabel createSelectableLabel(Composite parent, String text) {
- return createSelectableLabel(parent, text, SWT.NONE);
-}
-
-public SelectableFormLabel createSelectableLabel(Composite parent, String text, int style) {
- SelectableFormLabel label = new SelectableFormLabel(parent, style);
- if (text!=null) label.setText(text);
- label.setBackground(backgroundColor);
- label.setForeground(foregroundColor);
- label.addFocusListener(visibilityHandler);
- return label;
-}
-
-public FormEngine createFormEngine(Composite parent) {
- FormEngine engine = new FormEngine(parent, SWT.WRAP);
- engine.setBackground(backgroundColor);
- engine.setForeground(foregroundColor);
- engine.marginWidth = 1;
- engine.marginHeight = 0;
- engine.setHyperlinkSettings(getHyperlinkHandler());
- return engine;
-}
-
-public Label createSeparator(Composite parent, int style) {
- Label label = new Label(parent, SWT.SEPARATOR | style);
- label.setBackground(backgroundColor);
- label.setForeground(borderColor);
- return label;
-}
-public Table createTable(Composite parent, int style) {
- Table table = new Table(parent, BORDER_STYLE | style);
- table.setBackground(backgroundColor);
- table.setForeground(foregroundColor);
- hookDeleteListener(table);
- return table;
-}
-public Text createText(Composite parent, String value) {
- return createText(parent, value, BORDER_STYLE | SWT.SINGLE);
-}
-public Text createText(Composite parent, String value, int style) {
- Text text = new Text(parent, style);
- if (value!=null) text.setText(value);
- text.setBackground(clientAreaColor);
- text.setForeground(foregroundColor);
- text.addFocusListener(visibilityHandler);
- return text;
-}
-public Tree createTree(Composite parent, int style) {
- Tree tree = new Tree(parent, BORDER_STYLE | style);
- tree.setBackground(backgroundColor);
- tree.setForeground(foregroundColor);
- hookDeleteListener(tree);
- return tree;
-}
-private void deleteKeyPressed(Widget widget) {
- if (!(widget instanceof Control)) return;
- Control control = (Control)widget;
- for (Control parent = control.getParent();
- parent != null;
- parent = parent.getParent()) {
- if (parent.getData() instanceof FormSection) {
- FormSection section = (FormSection) parent.getData();
- section.doGlobalAction(IWorkbenchActionConstants.DELETE);
- break;
- }
- }
-}
-public void dispose() {
- Enumeration colors= colorRegistry.elements();
- while (colors.hasMoreElements()) {
- Color c = (Color)colors.nextElement();
- c.dispose();
- }
- hyperlinkHandler.dispose();
- colorRegistry=null;
-}
-public Color getBackgroundColor() {
- return backgroundColor;
-}
-public Color getBorderColor() {
- return borderColor;
-}
-public Cursor getBusyCursor() {
- return hyperlinkHandler.getBusyCursor();
-}
-public Color getClientAreaColor() {
- return clientAreaColor;
-}
-public Color getColor(String key) {
- return (Color)colorRegistry.get(key);
-}
-public Color getForegroundColor() {
- return foregroundColor;
-}
-public HyperlinkHandler getHyperlinkHandler() {
- return hyperlinkHandler;
-}
-public Cursor getHyperlinkCursor() {
- return hyperlinkHandler.getHyperlinkCursor();
-}
-public Color getHyperlinkColor() {
- return hyperlinkHandler.getForeground();
-}
-public Color getHyperlinkHoverColor() {
- return hyperlinkHandler.getActiveForeground();
-}
-public int getHyperlinkUnderlineMode() {
- return hyperlinkHandler.getHyperlinkUnderlineMode();
-}
-public void hookDeleteListener(Control control) {
- if (deleteListener == null) {
- deleteListener = new KeyAdapter() {
- public void keyPressed(KeyEvent event) {
- if (event.character == SWT.DEL && event.stateMask == 0) {
- deleteKeyPressed(event.widget);
- }
- }
- };
- }
- control.addKeyListener(deleteListener);
-}
-private void initialize() {
- clientAreaColor = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);
- //registerColor(COLOR_BACKGROUND, 0xff, 0xfe, 0xf9);
- registerColor(COLOR_BORDER, 195, 191, 179);
- registerColor(COLOR_COMPOSITE_SEPARATOR, 152, 170, 203);
- registerColor(DEFAULT_HEADER_COLOR, 0x48, 0x70, 0x98);
- //backgroundColor = getColor(COLOR_BACKGROUND);
- backgroundColor = clientAreaColor;
- borderColor = getColor(COLOR_BORDER);
- foregroundColor = display.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
- hyperlinkHandler = new HyperlinkHandler();
- hyperlinkHandler.setForeground(registerColor(COLOR_HYPERLINK, 0, 0, 153));
- hyperlinkHandler.setBackground(backgroundColor);
- visibilityHandler = new VisibilityHandler();
-}
-
-public void paintBordersFor(Composite parent) {
- if (BORDER_STYLE == SWT.BORDER) return;
- if (borderPainter==null) borderPainter = new BorderPainter();
- parent.addPaintListener(borderPainter);
-}
-public Color registerColor(String key, int r, int g, int b) {
- Color c = new Color(display, r, g, b);
- colorRegistry.put(key, c);
- return c;
-}
-public void setHyperlinkColor(Color color) {
- hyperlinkHandler.setForeground(color);
-}
-public void setHyperlinkHoverColor(org.eclipse.swt.graphics.Color hoverColor) {
- hyperlinkHandler.setActiveForeground(hoverColor);
-}
-public void setHyperlinkUnderlineMode(int newHyperlinkUnderlineMode) {
- hyperlinkHandler.setHyperlinkUnderlineMode(newHyperlinkUnderlineMode);
-}
-public void turnIntoHyperlink(Control control, IHyperlinkListener listener) {
- hyperlinkHandler.registerHyperlink(control, listener);
-}
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java
deleted file mode 100644
index 11fc620..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java
+++ /dev/null
@@ -1,645 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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();
- if (children.length ==0) return;
- int parentWidth = clientArea.width;
- changed = true;
- initializeIfNeeded(parent, changed);
- if (initialLayout) {
- changed = true;
- initialLayout = false;
- }
- if (grid==null || changed) {
- changed = true;
- grid = new Vector();
- createGrid(parent);
- }
- resetColumnWidths();
- int minWidth = internalGetMinimumWidth(parent, changed);
- int maxWidth = internalGetMaximumWidth(parent, changed);
-
- int tableWidth = parentWidth;
-
- int [] columnWidths;
-
- if (parentWidth < minWidth) {
- tableWidth = minWidth;
- if (makeColumnsEqualWidth) {
- columnWidths = new int[numColumns];
- for (int i=0; i<numColumns; i++) {
- columnWidths[i] = widestColumnWidth;
- }
- }
- else
- columnWidths = minColumnWidths;
- }
- else if (parentWidth > maxWidth) {
- if (growingColumns.length==0) {
- tableWidth = maxWidth;
- columnWidths = maxColumnWidths;
- }
- else {
- columnWidths = new int [numColumns];
- int colSpace = tableWidth - leftMargin - rightMargin;
- colSpace -= (numColumns-1)*horizontalSpacing;
- int extra = parentWidth - maxWidth;
- int colExtra = extra / growingColumns.length;
- for (int i=0; i<numColumns; i++) {
- columnWidths[i] = maxColumnWidths[i];
-
- if (isGrowingColumn(i)) {
- columnWidths[i] += colExtra;
- }
- }
- }
- }
- else {
- columnWidths = new int [numColumns];
- if (makeColumnsEqualWidth) {
- int colSpace = tableWidth - leftMargin - rightMargin;
- colSpace -= (numColumns-1)*horizontalSpacing;
- int col = colSpace/numColumns;
- for (int i=0; i<numColumns; i++) {
- columnWidths[i] = col;
- }
- }
- else {
- int [] extraSpace = calculateExtraSpace(tableWidth, maxWidth, minWidth);
- for (int i=0; i<numColumns; i++) {
- int minCWidth = minColumnWidths[i];
- columnWidths[i] = minCWidth + extraSpace[i];
- }
- }
- }
- int x = 0;
- int y = topMargin;
- // assign widths
- for (int i=0; i<grid.size(); i++) {
- TableData [] row = (TableData [])grid.elementAt(i);
- // assign widths, calculate heights
- int rowHeight = 0;
- x = leftMargin;
- for (int j=0; j<numColumns; j++) {
- TableData td = row[j];
- if (td.isItemData==false) {
- continue;
- }
- Control child = children[td.childIndex];
- int span = td.colspan;
- int cwidth = 0;
- for (int k=j; k<j+span; k++) {
- 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;
- Control[] children;
- TableData spacerSpec;
- Vector growingCols = new Vector();
-
- //
- children = composite.getChildren();
- if (children.length==0) return;
-
- //
- grid.addElement(createEmptyRow());
- row = 0;
- column = 0;
-
- // Loop through the children and place their associated layout specs in the
- // grid. Placement occurs left to right, top to bottom (i.e., by row).
- for (int i = 0; i < children.length; i++) {
- // Find the first available spot in the grid.
- Control child = children[i];
- TableData spec = (TableData) child.getLayoutData();
- while (((TableData[]) grid.elementAt(row))[column] != null) {
- column = column + 1;
- if (column >= numColumns) {
- row = row + 1;
- column = 0;
- if (row >= grid.size()) {
- grid.addElement(createEmptyRow());
- }
- }
- }
- // See if the place will support the widget's horizontal span. If not, go to the
- // next row.
- if (column + spec.colspan - 1 >= numColumns) {
- grid.addElement(createEmptyRow());
- row = row + 1;
- column = 0;
- }
-
- // The vertical span for the item will be at least 1. If it is > 1,
- // add other rows to the grid.
- for (int j = 2; j <= spec.rowspan; j++) {
- if (row + j > grid.size()) {
- grid.addElement(createEmptyRow());
- }
- }
-
- // Store the layout spec. Also cache the childIndex. NOTE: That we assume the children of a
- // composite are maintained in the order in which they are created and added to the composite.
- ((TableData[]) grid.elementAt(row))[column] = spec;
- spec.childIndex = i;
-
- if (spec.grabHorizontal) {
- updateGrowingColumns(growingCols, spec, column);
- }
-
- // Put spacers in the grid to account for the item's vertical and horizontal
- // span.
- rowFill = spec.rowspan - 1;
- columnFill = spec.colspan - 1;
- for (int r = 1; r <= rowFill; r++) {
- for (int c = 0; c < spec.colspan; c++) {
- spacerSpec = new TableData();
- spacerSpec.isItemData = false;
- ((TableData[]) grid.elementAt(row + r))[column + c] = spacerSpec;
- }
- }
- for (int c = 1; c <= columnFill; c++) {
- for (int r = 0; r < spec.rowspan; r++) {
- spacerSpec = new TableData();
- spacerSpec.isItemData = false;
- ((TableData[]) grid.elementAt(row + r))[column + c] = spacerSpec;
- }
- }
- column = column + spec.colspan - 1;
- }
-
- // Fill out empty grid cells with spacers.
- for (int k = column + 1; k < numColumns; k++) {
- spacerSpec = new TableData();
- spacerSpec.isItemData = false;
- ((TableData[]) grid.elementAt(row))[k] = spacerSpec;
- }
- for (int k = row + 1; k < grid.size(); k++) {
- spacerSpec = new TableData();
- spacerSpec.isItemData = false;
- ((TableData[]) grid.elementAt(k))[column] = spacerSpec;
- }
- growingColumns = new int [growingCols.size()];
- for (int i=0; i<growingCols.size(); i++) {
- growingColumns[i] = ((Integer)growingCols.get(i)).intValue();
- }
-}
-
-private void updateGrowingColumns(Vector growingColumns, TableData spec, int column) {
- int affectedColumn = column + spec.colspan -1;
- for (int i=0; i<growingColumns.size(); i++) {
- Integer col = (Integer)growingColumns.get(i);
- if (col.intValue()==affectedColumn)
- return;
- }
- growingColumns.add(new Integer(affectedColumn));
-}
-
-private TableData [] createEmptyRow() {
- TableData [] row = new TableData[numColumns];
- for (int i=0; i<numColumns; i++)
- row[i] = null;
- return row;
-}
-
- /**
- * @see Layout#computeSize(Composite, int, int, boolean)
- */
- protected Point computeSize(Composite parent, int wHint, int hHint, boolean changed) {
- Control [] children = parent.getChildren();
- if (children.length == 0) {
- return new Point(0, 0);
- }
- int parentWidth = wHint;
- changed = true;
- initializeIfNeeded(parent, changed);
- if (initialLayout) {
- changed = true;
- initialLayout = false;
- }
- if (grid==null || changed) {
- changed = true;
- grid = new Vector();
- createGrid(parent);
- }
- resetColumnWidths();
- int minWidth = internalGetMinimumWidth(parent, changed);
- int maxWidth = internalGetMaximumWidth(parent, changed);
-
- int tableWidth = parentWidth;
-
- int [] columnWidths;
-
- if (parentWidth < minWidth) {
- tableWidth = minWidth;
- if (makeColumnsEqualWidth) {
- columnWidths = new int[numColumns];
- for (int i=0; i<numColumns; i++) {
- columnWidths[i] = widestColumnWidth;
- }
- }
- else
- columnWidths = minColumnWidths;
- }
- else if (parentWidth > maxWidth) {
- tableWidth = maxWidth;
- columnWidths = maxColumnWidths;
- }
- else {
- columnWidths = new int [numColumns];
- if (makeColumnsEqualWidth) {
- int colSpace = tableWidth - leftMargin - rightMargin;
- colSpace -= (numColumns-1)*horizontalSpacing;
- int col = colSpace/numColumns;
- for (int i=0; i<numColumns; i++) {
- columnWidths[i] = col;
- }
- }
- else {
- int [] extraSpace = calculateExtraSpace(tableWidth, maxWidth, minWidth);
- for (int i=0; i<numColumns; i++) {
- int minCWidth = minColumnWidths[i];
- columnWidths[i] = minCWidth + extraSpace[i];
- }
- }
- }
- int totalHeight=0;
- int y = topMargin;
- // compute widths
- for (int i=0; i<grid.size(); i++) {
- TableData [] row = (TableData [])grid.elementAt(i);
- // assign widths, calculate heights
- int rowHeight = 0;
- for (int j=0; j<numColumns; j++) {
- TableData td = row[j];
- if (td.isItemData==false) {
- continue;
- }
- Control child = children[td.childIndex];
- int span = td.colspan;
- int cwidth = 0;
- for (int k=j; k<j+span; k++) {
- if (k>j) cwidth += horizontalSpacing;
- cwidth += columnWidths[k];
- }
- int cy = td.heightHint;
- if (cy == SWT.DEFAULT) {
- Point size = computeSize(child, cwidth, changed);
- cy = size.y;
- }
- rowHeight = Math.max(rowHeight, cy);
- }
- y += rowHeight + verticalSpacing;
- }
- totalHeight = y + bottomMargin;
- return new Point(tableWidth, totalHeight);
- }
-
- int internalGetMinimumWidth(Composite parent, boolean changed) {
- if (changed)
- calculateMinimumColumnWidths(parent, true);
- int minimumWidth = 0;
-
- widestColumnWidth = 0;
-
- if (makeColumnsEqualWidth) {
- for (int i=0; i<numColumns; i++) {
- widestColumnWidth = Math.max(widestColumnWidth, minColumnWidths[i]);
- }
- }
- for (int i=0; i<numColumns; i++) {
- if (i>0) minimumWidth += horizontalSpacing;
- if (makeColumnsEqualWidth)
- minimumWidth += widestColumnWidth;
- else
- minimumWidth += minColumnWidths[i];
- }
- // add margins
- minimumWidth += leftMargin + rightMargin;
- return minimumWidth;
- }
-
- int internalGetMaximumWidth(Composite parent, boolean changed) {
- if (changed)
- calculateMaximumColumnWidths(parent, true);
- int maximumWidth = 0;
- for (int i=0; i<numColumns; i++) {
- if (i>0) maximumWidth += horizontalSpacing;
- maximumWidth += maxColumnWidths[i];
- }
- // add margins
- maximumWidth += leftMargin + rightMargin;
- return maximumWidth;
- }
-
- void resetColumnWidths() {
- if (minColumnWidths == null)
- minColumnWidths = new int [numColumns];
- if (maxColumnWidths == null)
- maxColumnWidths = new int [numColumns];
- for (int i=0; i<numColumns; i++) {
- minColumnWidths [i] = 0;
- }
- for (int i=0; i<numColumns; i++) {
- maxColumnWidths [i] = 0;
- }
- }
-
- void calculateMinimumColumnWidths(Composite parent, boolean changed) {
- Control [] children = parent.getChildren();
-
- for (int i=0; i<grid.size(); i++) {
- TableData [] row = (TableData [])grid.elementAt(i);
- for (int j=0; j<numColumns; j++) {
- TableData td = row[j];
- if (td.isItemData==false) continue;
- Control child = children[td.childIndex];
- int minWidth = -1;
- if (child instanceof Composite) {
- Composite cc = (Composite)child;
- Layout l = cc.getLayout();
- if (l instanceof 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/internal/HyperlinkAdapter.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkAdapter.java
deleted file mode 100644
index 56c92db..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkAdapter.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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/internal/HyperlinkHandler.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkHandler.java
deleted file mode 100644
index 2d85a0b..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkHandler.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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 extends HyperlinkSettings
- implements MouseListener,
- MouseTrackListener,
- SelectionListener,
- PaintListener {
- private Hashtable hyperlinkListeners;
- private Control lastActivated;
- private Control lastEntered;
-
-public HyperlinkHandler() {
- hyperlinkListeners = new Hashtable();
-}
-
-public Control getLastLink() {
- return lastActivated;
-}
-
-public void mouseDoubleClick(MouseEvent e) {
-}
-
-public void mouseDown(MouseEvent e) {
- if (e.button == 1)
- return;
- lastActivated = (Control)e.widget;
-}
-public void mouseEnter(MouseEvent e) {
- Control control = (Control) e.widget;
- linkEntered(control);
-}
-public void mouseExit(MouseEvent e) {
- Control control = (Control) e.widget;
- linkExited(control);
-}
-public void mouseHover(MouseEvent e) {
-}
-
-public void mouseUp(MouseEvent e) {
- if (e.button != 1)
- return;
- 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 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/internal/HyperlinkSettings.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkSettings.java
deleted file mode 100644
index 96b87f9..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkSettings.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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 HyperlinkSettings {
- public static final int UNDERLINE_NEVER = 1;
- public static final int UNDERLINE_ROLLOVER = 2;
- public static final int UNDERLINE_ALWAYS = 3;
-
- protected Cursor hyperlinkCursor;
- protected Cursor busyCursor;
- protected boolean hyperlinkCursorUsed=true;
- protected int hyperlinkUnderlineMode=UNDERLINE_ALWAYS;
- protected Color background;
- protected Color foreground;
- protected Color activeBackground;
- protected Color activeForeground;
-
-public HyperlinkSettings() {
- 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 boolean isHyperlinkCursorUsed() {
- return hyperlinkCursorUsed;
-}
-
-public void setActiveBackground(Color newActiveBackground) {
- activeBackground = newActiveBackground;
-}
-public void setActiveForeground(Color newActiveForeground) {
- activeForeground = newActiveForeground;
-}
-public void setBackground(Color newBackground) {
- background = newBackground;
-}
-public void setForeground(Color newForeground) {
- foreground = newForeground;
-}
-public void setHyperlinkCursorUsed(boolean newHyperlinkCursorUsed) {
- hyperlinkCursorUsed = newHyperlinkCursorUsed;
-}
-public void setHyperlinkUnderlineMode(int newHyperlinkUnderlineMode) {
- hyperlinkUnderlineMode = newHyperlinkUnderlineMode;
-}
-
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.java
deleted file mode 100644
index b0f5747..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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 boolean doGlobalAction(String actionId);
-public void expandTo(Object object);
-public Control getControl();
-public FormWidgetFactory getFactory();
-public Color getHeadingBackground();
-public Color getHeadingForeground();
-public Image getHeadingImage();
-public String getHeadingText();
-public void initialize(Object model);
-public boolean isHeadingVisible();
-public void registerSection(FormSection section);
-public void setFocus();
-public void setHeadingBackground(Color newHeadingBackground);
-public void setHeadingForeground(Color newHeadingForeground);
-public void setHeadingImage(Image headingImage);
-public void setHeadingVisible(boolean newHeadingVisible);
-public void setHeadingText(String heading);
-public void update();
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.java
deleted file mode 100644
index 2717583..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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/internal/IFormSelectionListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormSelectionListener.java
deleted file mode 100644
index a131d34..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormSelectionListener.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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/internal/IFormTextListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormTextListener.java
deleted file mode 100644
index 8aedbf9..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormTextListener.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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/internal/IFormWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormWorkbook.java
deleted file mode 100644
index c729331..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormWorkbook.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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/internal/IHyperlinkListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IHyperlinkListener.java
deleted file mode 100644
index e04f2dd..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IHyperlinkListener.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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/internal/NoTabsWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/NoTabsWorkbook.java
deleted file mode 100644
index c9abdcc..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/NoTabsWorkbook.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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/internal/ScrollableSectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ScrollableSectionForm.java
deleted file mode 100644
index 431215d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ScrollableSectionForm.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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.setMinSize(newSize);
-}
-
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java
deleted file mode 100644
index 1ff42f2..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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/internal/SectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionForm.java
deleted file mode 100644
index e7e6b4d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionForm.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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);
- 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/internal/SelectableControl.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableControl.java
deleted file mode 100644
index ea81992..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableControl.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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 abstract class SelectableControl extends Canvas {
- private boolean hasFocus;
-
- public SelectableControl(Composite parent, int style) {
- super(parent, style);
- addPaintListener(new PaintListener() {
- public void paintControl(PaintEvent e) {
- paint(e);
- }
- });
- addMouseListener(new MouseAdapter () {
- public void mouseUp(MouseEvent e) {
- notifyListeners(SWT.Selection);
- }
- });
- addKeyListener(new KeyAdapter() {
- public void keyPressed(KeyEvent e) {
- if (e.character == '\r') {
- // Activation
- notifyListeners(SWT.Selection);
- }
- }
- });
- addListener(SWT.Traverse, new Listener () {
- public void handleEvent(Event e) {
- if (e.detail != SWT.TRAVERSE_RETURN)
- e.doit = true;
- }
- });
- addFocusListener(new FocusListener() {
- public void focusGained(FocusEvent e) {
- if (!hasFocus) {
- hasFocus=true;
- redraw();
- }
- }
- public void focusLost(FocusEvent e) {
- if (hasFocus) {
- hasFocus=false;
- redraw();
- }
- }
- });
- }
-
- protected void paint(PaintEvent e) {
- GC gc = e.gc;
- Point size = getSize();
- gc.setFont(getFont());
- paint(gc);
- if (hasFocus) {
- gc.setForeground(getForeground());
- gc.drawFocus(0, 0, size.x, size.y);
- }
- }
-
- protected abstract void paint(GC gc);
-
- private void notifyListeners(int eventType) {
- Event event = new Event();
- event.type = eventType;
- event.widget = this;
- notifyListeners(eventType, event);
- }
-
- public void addSelectionListener(SelectionListener listener) {
- checkWidget ();
- if (listener == null) return;
- TypedListener typedListener = new TypedListener (listener);
- addListener (SWT.Selection,typedListener);
- }
-
- public void removeSelectionListener(SelectionListener listener) {
- checkWidget ();
- if (listener == null) return;
- removeListener (SWT.Selection, listener);
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java
deleted file mode 100644
index c6064b9..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-
-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/internal/TableData.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableData.java
deleted file mode 100644
index e2243e2..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableData.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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/internal/TableLayoutTest.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableLayoutTest.java
deleted file mode 100644
index 3dc07be..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableLayoutTest.java
+++ /dev/null
@@ -1,226 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.events.*;
-import java.io.InputStream;
-import org.eclipse.swt.program.Program;
-import org.eclipse.update.ui.forms.internal.engine.*;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.StatusLineManager;
-
-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);
-
- StatusLineManager manager = new StatusLineManager();
- addFormEngine(c, factory, manager);
- //addFormEngine(c, factory, manager);
- //addFormEngine(c, factory, manager);
-
- addRow(c);
-
- Control mcontrol = manager.createControl(c);
- td = new TableData();
- td.colspan = 2;
- td.align = TableData.FILL;
- mcontrol.setLayoutData(td);
-
- factory.setHyperlinkUnderlineMode(HyperlinkHandler.UNDERLINE_ROLLOVER);
-
- SelectableFormLabel ft = new SelectableFormLabel(c, SWT.WRAP);
- ft.setText("Some text in the form text that should also wrap");
- factory.turnIntoHyperlink(ft, new IHyperlinkListener() {
- public void linkEntered(Control link) {
- System.out.println("Link entered");
- }
- public void linkExited(Control link) {
- System.out.println("Link exited");
- }
- public void linkActivated(Control link) {
- System.out.println("Link activated");
- }
- });
-
- ft = new SelectableFormLabel(c, SWT.WRAP);
- ft.setText("Some more form text here");
- factory.turnIntoHyperlink(ft, new IHyperlinkListener() {
- public void linkEntered(Control link) {
- System.out.println("Link entered");
- }
- public void linkExited(Control link) {
- System.out.println("Link exited");
- }
- public void linkActivated(Control link) {
- System.out.println("Link activated");
- }
- });
-
- shell.open ();
- while (!shell.isDisposed ()) {
- if (!display.readAndDispatch ()) display.sleep ();
- }
- display.dispose ();
-}
-
-public static void addFormEngine(Composite c, FormWidgetFactory factory, IStatusLineManager manager) {
- new Label(c, SWT.NULL);
- FormEngine html = new FormEngine(c, SWT.WRAP);
- html.setHyperlinkSettings(factory.getHyperlinkHandler());
- HTTPAction action = new HTTPAction();
- action.setStatusLineManager(manager);
- html.registerTextObject("urlHandler", action);
- //html.setBackground(factory.getBackgroundColor());
- html.setForeground(factory.getForegroundColor());
- InputStream is = TableLayoutTest.class.getResourceAsStream("index.xml");
- //html.setParagraphsSeparated(false);
- html.load(is, true);
- TableData td = new TableData();
- td.colspan = 1;
- td.align = TableData.FILL;
- html.setLayoutData(td);
-}
-
-public static void addRow(Composite c) {
- Composite row = new Composite(c, SWT.WRAP);
- RowLayout layout = new RowLayout();
- layout.wrap = true;
- row.setLayout(layout);
-
- for (int i=0; i<10; i++) {
- Button button = new Button(row, SWT.PUSH);
- button.setText("Button that should be wrapped");
- }
- TableData td = new TableData();
- td.colspan = 2;
- td.align = TableData.FILL;
- td.grabHorizontal = true;
- row.setLayoutData(td);
-}
-
-private static void updateSize(ScrolledComposite sc, Composite c) {
- Rectangle ssize = sc.getClientArea();
- int swidth = ssize.width;
- HTMLTableLayout layout = (HTMLTableLayout)c.getLayout();
- Point size = layout.computeSize(c, swidth, SWT.DEFAULT, true);
- Rectangle trim = c.computeTrim(0, 0, size.x, size.y);
- size = new Point(trim.width, trim.height);
- c.setSize(size);
-}
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java
deleted file mode 100644
index 89ec8f6..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved.
- */
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.SWT;
-
-public class ToggleControl extends SelectableControl {
- private boolean selection;
- private Color decorationColor;
- private Color activeColor;
- private Cursor activeCursor;
- private boolean hover=false;
- private static final int marginWidth = 2;
- private static final int marginHeight = 2;
- private static final int WIDTH = 9;
- private static final int HEIGHT = 9;
- private static final int [] offPoints = { 0,2, 8,2, 4,6 };
- private static final int [] onPoints = { 2, -1, 2,8, 6,4 };
-
- public ToggleControl(Composite parent, int style) {
- super(parent, style);
- addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- selection = !selection;
- redraw();
- }
- });
-
- addMouseTrackListener(new MouseTrackAdapter() {
- public void mouseEnter(MouseEvent e) {
- hover = true;
- if (activeCursor!=null)
- setCursor(activeCursor);
- redraw();
- }
- public void mouseExit(MouseEvent e) {
- hover = false;
- if (activeCursor!=null)
- setCursor(null);
- redraw();
- }
- });
- }
-
- public void setDecorationColor(Color decorationColor) {
- this.decorationColor = decorationColor;
- }
-
- public Color getDecorationColor() {
- return decorationColor;
- }
-
- public void setActiveDecorationColor(Color activeColor) {
- this.activeColor = activeColor;
- }
-
- public void setActiveCursor(Cursor activeCursor) {
- this.activeCursor = activeCursor;
- }
-
- public Color getActiveDecorationColor() {
- return activeColor;
- }
-
- public Point computeSize(int wHint, int hHint, boolean changed) {
- int width, height;
-
- if (wHint!=SWT.DEFAULT) width = wHint;
- else
- width = WIDTH + 2*marginWidth;
- if (hHint!=SWT.DEFAULT) height = hHint;
- else height = HEIGHT + 2*marginHeight;
- return new Point(width, height);
- }
-
- /*
- * @see SelectableControl#paint(GC)
- */
- protected void paint(GC gc) {
- if (hover && activeColor!=null)
- gc.setBackground(activeColor);
- else if (decorationColor!=null)
- gc.setBackground(decorationColor);
- else
- gc.setBackground(getForeground());
- int [] data;
- Point size = getSize();
- int x = (size.x - 9)/2;
- int y = (size.y - 9)/2;
- if (selection)
- data = translate(onPoints, x, y);
-
- else
- data = translate(offPoints, x, y);
- gc.fillPolygon(data);
- gc.setBackground(getBackground());
- }
-
- private int [] translate(int [] data, int x, int y) {
- int [] target = new int [data.length];
- for (int i=0; i<data.length; i+=2) {
- target[i] = data[i]+ x;
- }
- for (int i=1; i<data.length; i+=2) {
- target[i] = data[i]+y;
- }
- return target;
- }
-
- public boolean getSelection() {
- return selection;
- }
-
- public void setSelection(boolean selection) {
- this.selection = selection;
- }
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java
deleted file mode 100644
index 2a010bd..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java
+++ /dev/null
@@ -1,206 +0,0 @@
-package org.eclipse.update.ui.forms.internal;
-/*
- * (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) {
- if (isHeadingVisible() == false)
- return;
- GC gc = e.gc;
- if (headingImage != null) {
- gc.drawImage(headingImage, 0, 0);
- }
- Point size = control.getSize();
- if (getHeadingBackground() != null)
- gc.setBackground(getHeadingBackground());
- if (getHeadingForeground() != null)
- gc.setForeground(getHeadingForeground());
- gc.setFont(titleFont);
- FormLabel.paintWrapText(gc, size, getHeadingText(), HMARGIN, VMARGIN);
- if (headingUnderlineImage != null) {
- int y =
- getHeadingHeight((Composite) control)
- - headingUnderlineImage.getBounds().height;
- gc.drawImage(headingUnderlineImage, 0, y);
- }
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java
deleted file mode 100644
index 2669443..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.graphics.GC;
-import java.util.Hashtable;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Color;
-
-public class BulletParagraph extends Paragraph implements IBulletParagraph {
- private int style = CIRCLE;
- private String text;
- private int CIRCLE_DIAM = 5;
- private int SPACING = 10;
- private int indent = -1;
- /**
- * Constructor for BulletParagraph.
- * @param addVerticalSpace
- */
- public BulletParagraph(boolean addVerticalSpace) {
- super(addVerticalSpace);
- }
-
- public int getIndent() {
- if (indent != -1)
- return indent;
- switch (style) {
- case CIRCLE :
- return CIRCLE_DIAM + SPACING;
- }
- return 20;
- }
-
- /*
- * @see IBulletParagraph#getBulletStyle()
- */
- public int getBulletStyle() {
- return style;
- }
-
- public void setBulletStyle(int style) {
- this.style = style;
- }
-
- public void setBulletText(String text) {
- this.text = text;
- }
-
- public void setIndent(int indent) {
- this.indent = indent;
- }
-
- /*
- * @see IBulletParagraph#getBulletText()
- */
- public String getBulletText() {
- return text;
- }
-
- public void paint(
- GC gc,
- int width,
- Locator loc,
- int lineHeight,
- Hashtable objectTable,
- IHyperlinkSegment selectedLink) {
- paintBullet(gc, loc, lineHeight, objectTable);
- super.paint(gc, width, loc, lineHeight, objectTable, selectedLink);
- }
-
- public void paintBullet(
- GC gc,
- Locator loc,
- int lineHeight,
- Hashtable objectTable) {
- int x = loc.x - getIndent();
- if (style == CIRCLE) {
- int y = loc.y + lineHeight / 2 - CIRCLE_DIAM / 2;
- Color bg = gc.getBackground();
- Color fg = gc.getForeground();
- gc.setBackground(fg);
- gc.fillRectangle(x, y + 1, 5, 3);
- gc.fillRectangle(x + 1, y, 3, 5);
- gc.setBackground(bg);
- } else if (style == TEXT && text != null) {
- gc.drawText(text, x, loc.y);
- } else if (style == IMAGE && text != null) {
- Image image = (Image) objectTable.get(text);
- if (image != null) {
- int y = loc.y + lineHeight / 2 - image.getBounds().height / 2;
- gc.drawImage(image, x, y);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java
deleted file mode 100644
index 0a10ee9..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java
+++ /dev/null
@@ -1,336 +0,0 @@
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.SWT;
-import java.util.Hashtable;
-
-import org.eclipse.update.ui.forms.internal.HyperlinkSettings;
-import org.eclipse.update.ui.forms.internal.IHyperlinkListener;
-import org.eclipse.update.ui.forms.internal.engine.*;
-import org.eclipse.core.runtime.CoreException;
-import java.io.*;
-
-public class FormEngine extends Canvas {
- public static final String URL_HANDLER_ID = "urlHandler";
- boolean hasFocus;
- boolean paragraphsSeparated = true;
- String text;
- TextModel model;
- Hashtable objectTable = new Hashtable();
- public int marginWidth = 0;
- public int marginHeight = 1;
- IHyperlinkSegment entered;
-
- public boolean getFocus() {
- return hasFocus;
- }
-
- public int getParagraphSpacing(int lineHeight) {
- return lineHeight/2;
- }
-
- public void setParagraphsSeparated(boolean value) {
- paragraphsSeparated = value;
- }
-
- /**
- * Constructor for SelectableFormLabel
- */
- public FormEngine(Composite parent, int style) {
- super(parent, style);
- setLayout(new FormEngineLayout());
- model = new TextModel();
-
- addDisposeListener(new DisposeListener() {
- public void widgetDisposed(DisposeEvent e) {
- model.dispose();
- }
- });
- addPaintListener(new PaintListener() {
- public void paintControl(PaintEvent e) {
- paint(e);
- }
- });
- addKeyListener(new KeyAdapter() {
- public void keyPressed(KeyEvent e) {
- if (e.character == '\r') {
- // Activation
- activateSelectedLink();
- }
- }
- });
- addListener(SWT.Traverse, new Listener() {
- public void handleEvent(Event e) {
- if (!model.hasFocusSegments())
- return;
- if (e.detail == SWT.TRAVERSE_TAB_NEXT)
- e.doit = advance(true);
- else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)
- e.doit = advance(false);
- else if (e.detail != SWT.TRAVERSE_RETURN)
- e.doit = true;
- }
- });
- addFocusListener(new FocusListener() {
- public void focusGained(FocusEvent e) {
- if (!hasFocus) {
- hasFocus = true;
- handleFocusChange();
- }
- }
- public void focusLost(FocusEvent e) {
- if (hasFocus) {
- hasFocus = false;
- handleFocusChange();
- }
- }
- });
- addMouseListener(new MouseListener() {
- public void mouseDoubleClick(MouseEvent e) {
- }
- public void mouseDown(MouseEvent e) {
- // select a link
- handleMouseClick(e, true);
- }
- public void mouseUp(MouseEvent e) {
- // activate a link
- handleMouseClick(e, false);
- }
- });
- addMouseTrackListener(new MouseTrackListener() {
- public void mouseEnter(MouseEvent e) {
- }
- public void mouseExit(MouseEvent e) {
- if (entered != null) {
- exitLink(entered);
- entered = null;
- setCursor(null);
- }
- }
- public void mouseHover(MouseEvent e) {
- handleMouseHover(e);
- }
- });
- addMouseMoveListener(new MouseMoveListener() {
- public void mouseMove(MouseEvent e) {
- handleMouseMove(e);
- }
- });
- }
-
- private void handleMouseClick(MouseEvent e, boolean down) {
- if (down) {
- // select a hyperlink
- IHyperlinkSegment segmentUnder = model.findHyperlinkAt(e.x, e.y);
- if (segmentUnder != null) {
- IHyperlinkSegment oldLink = model.getSelectedLink();
- model.selectLink(segmentUnder);
- enterLink(segmentUnder);
- paintFocusTransfer(oldLink, segmentUnder);
- }
- } else {
- IHyperlinkSegment segmentUnder = model.findHyperlinkAt(e.x, e.y);
- if (segmentUnder != null) {
- activateLink(segmentUnder);
- }
- }
- }
- private void handleMouseHover(MouseEvent e) {
- }
- private void handleMouseMove(MouseEvent e) {
- IHyperlinkSegment segmentUnder = model.findHyperlinkAt(e.x, e.y);
-
- if (segmentUnder == null) {
- if (entered != null) {
- exitLink(entered);
- entered = null;
- setCursor(null);
- }
- } else {
- if (entered == null) {
- entered = segmentUnder;
- enterLink(segmentUnder);
- setCursor(model.getHyperlinkSettings().getHyperlinkCursor());
- }
-
- }
- }
-
- public HyperlinkSettings getHyperlinkSettings() {
- return model.getHyperlinkSettings();
- }
-
- public void setHyperlinkSettings(HyperlinkSettings settings) {
- model.setHyperlinkSettings(settings);
- }
-
- private boolean advance(boolean next) {
- IHyperlinkSegment current = model.getSelectedLink();
- if (current!=null) exitLink(current);
-
- boolean valid = model.traverseLinks(next);
-
- if (valid)
- enterLink(model.getSelectedLink());
- paintFocusTransfer(current, model.getSelectedLink());
- return !valid;
- }
-
- public IHyperlinkSegment getSelectedLink() {
- return model.getSelectedLink();
- }
-
- private void handleFocusChange() {
- if (hasFocus) {
- model.traverseLinks(true);
- enterLink(model.getSelectedLink());
- paintFocusTransfer(null, model.getSelectedLink());
- } else {
- paintFocusTransfer(model.getSelectedLink(), null);
- model.selectLink(null);
- }
- }
-
- private void enterLink(IHyperlinkSegment link) {
- if (link == null)
- return;
- HyperlinkAction action = link.getAction(objectTable);
- if (action != null)
- action.linkEntered(link);
- }
-
- private void exitLink(IHyperlinkSegment link) {
- if (link == null)
- return;
- HyperlinkAction action = link.getAction(objectTable);
- if (action != null)
- action.linkExited(link);
- }
-
- private void activateSelectedLink() {
- IHyperlinkSegment link = model.getSelectedLink();
- if (link != null)
- activateLink(link);
- }
-
- private void activateLink(IHyperlinkSegment link) {
- setCursor(model.getHyperlinkSettings().getBusyCursor());
- HyperlinkAction action = link.getAction(objectTable);
- if (action != null)
- action.linkActivated(link);
- setCursor(model.getHyperlinkSettings().getHyperlinkCursor());
- }
-
- protected void paint(PaintEvent e) {
- int width = getClientArea().width;
- IParagraph[] paragraphs = model.getParagraphs();
-
- GC gc = e.gc;
- gc.setFont(getFont());
- gc.setForeground(getForeground());
- gc.setBackground(getBackground());
-
- Locator loc = new Locator();
- loc.marginWidth = marginWidth;
- loc.marginHeight = marginHeight;
- loc.x = marginWidth;
- loc.y = marginHeight;
-
- FontMetrics fm = gc.getFontMetrics();
- int lineHeight = fm.getHeight();
-
- IHyperlinkSegment selectedLink = model.getSelectedLink();
-
- for (int i = 0; i < paragraphs.length; i++) {
- IParagraph p = paragraphs[i];
-
- if (i > 0 && paragraphsSeparated && p.getAddVerticalSpace())
- loc.y += getParagraphSpacing(lineHeight);
-
- loc.indent = p.getIndent();
- loc.resetCaret();
- loc.rowHeight = 0;
- p.paint(gc, width, loc, lineHeight, objectTable, selectedLink);
- }
- }
-
- public void registerTextObject(String key, Object value) {
- objectTable.put(key, value);
- }
-
- public void load(String text, boolean parseTags, boolean expandURLs) {
- try {
- if (parseTags)
- model.parseTaggedText(text, expandURLs);
- else
- model.parseRegularText(text, expandURLs);
- } catch (CoreException e) {
- }
- }
- public void load(InputStream is, boolean expandURLs) {
- try {
- model.parseInputStream(is, expandURLs);
- } catch (CoreException e) {
- }
- }
-
- public boolean setFocus() {
- if (!model.hasFocusSegments())
- return false;
- return super.setFocus();
- }
-
- private void paintFocusTransfer(IHyperlinkSegment oldLink, IHyperlinkSegment newLink) {
- GC gc = new GC(this);
- Color bg = getBackground();
- Color fg = getForeground();
-
- gc.setFont(getFont());
-
- if (oldLink!=null) {
- gc.setBackground(bg);
- gc.setForeground(fg);
- oldLink.paintFocus(gc, bg, fg, false);
- }
- if (newLink!=null) {
- gc.setBackground(bg);
- gc.setForeground(fg);
- newLink.paintFocus(gc, bg, fg, true);
- }
- gc.dispose();
- }
- /**
- * Gets the marginWidth.
- * @return Returns a int
- */
- public int getMarginWidth() {
- return marginWidth;
- }
-
- /**
- * Sets the marginWidth.
- * @param marginWidth The marginWidth to set
- */
- public void setMarginWidth(int marginWidth) {
- this.marginWidth = marginWidth;
- }
-
- /**
- * Gets the marginHeight.
- * @return Returns a int
- */
- public int getMarginHeight() {
- return marginHeight;
- }
-
- /**
- * Sets the marginHeight.
- * @param marginHeight The marginHeight to set
- */
- public void setMarginHeight(int marginHeight) {
- this.marginHeight = marginHeight;
- }
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java
deleted file mode 100644
index 1298e6a..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-
-/**
- * @version 1.0
- * @author
- */
-public class FormEngineLayout extends Layout {
-
- /*
- * @see Layout#computeSize(Composite, int, int, boolean)
- */
-
- public Point computeSize(
- Composite composite,
- int wHint,
- int hHint,
- boolean changed) {
- FormEngine engine = (FormEngine) composite;
- int innerWidth = wHint;
- if (innerWidth != SWT.DEFAULT)
- innerWidth -= engine.marginWidth * 2;
- Point textSize = computeTextSize(engine, innerWidth);
- int textWidth = textSize.x + 2 * engine.marginWidth;
- int textHeight = textSize.y + 2 * engine.marginHeight;
- Point result = new Point(textWidth, textHeight);
- return result;
- }
-
- private Point computeTextSize(FormEngine engine, int wHint) {
- IParagraph[] paragraphs = engine.model.getParagraphs();
-
- GC gc = new GC(engine);
- gc.setFont(engine.getFont());
-
- Locator loc = new Locator();
-
- int width = wHint != SWT.DEFAULT ? wHint : 0;
-
- FontMetrics fm = gc.getFontMetrics();
- int lineHeight = fm.getHeight();
-
- for (int i = 0; i < paragraphs.length; i++) {
- IParagraph p = paragraphs[i];
-
- if (i > 0 && engine.paragraphsSeparated && p.getAddVerticalSpace())
- loc.y += engine.getParagraphSpacing(lineHeight);
-
- loc.rowHeight = 0;
- loc.indent = p.getIndent();
- loc.x = p.getIndent();
-
- IParagraphSegment[] segments = p.getSegments();
- if (segments.length > 0) {
- for (int j = 0; j < segments.length; j++) {
- IParagraphSegment segment = segments[j];
- segment.advanceLocator(gc, wHint, loc, engine.objectTable);
- width = Math.max(width, loc.width);
- }
- loc.y += loc.rowHeight;
- } else {
- // empty new line
- loc.y += lineHeight;
- }
- }
- gc.dispose();
- return new Point(width, loc.y);
- }
-
- /*
- * @see Layout#layout(Composite, boolean)
- */
- protected void layout(Composite composite, boolean flushCache) {
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.java
deleted file mode 100644
index b8a226f..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-import org.eclipse.swt.program.Program;
-
-/**
- * @version 1.0
- * @author
- */
-public class HTTPAction extends HyperlinkAction {
- public HTTPAction () {
- }
-
- public void linkActivated(IHyperlinkSegment link) {
- Program.launch(link.getText());
- }
-
- public void linkEntered(IHyperlinkSegment link) {
- setDescription(link.getText());
- super.linkEntered(link);
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java
deleted file mode 100644
index c509e72..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.update.ui.forms.internal.IHyperlinkListener;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @version 1.0
- * @author
- */
-public class HyperlinkAction {
- IStatusLineManager manager;
- private String description;
-
- public HyperlinkAction() {
- }
-
- public void linkActivated(final IHyperlinkSegment link) {
- }
-
- public void linkEntered(IHyperlinkSegment link) {
- if (manager!=null && description!=null) {
- manager.setMessage(description);
- }
- }
-
- public void linkExited(IHyperlinkSegment link) {
- if (manager!=null && description!=null) {
- manager.setMessage(null);
- }
- }
-
- public void setStatusLineManager(IStatusLineManager manager) {
- this.manager = manager;
- }
-
- public String getDescription() {
- return description;
- }
- public void setDescription(String description) {
- this.description = description;
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java
deleted file mode 100644
index 0fb0385..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-import java.util.Hashtable;
-import org.eclipse.update.ui.forms.internal.*;
-import org.eclipse.swt.graphics.GC;
-
-/**
- * @version 1.0
- * @author
- */
-public class HyperlinkSegment
- extends TextSegment
- implements IHyperlinkSegment {
- private String actionId;
- private HyperlinkSettings settings;
-
-
- public HyperlinkSegment(String text, HyperlinkSettings settings, String fontId) {
- super(text, fontId);
- this.settings = settings;
- underline = true;
- }
-
- /*
- * @see IHyperlinkSegment#getListener(Hashtable)
- */
- public HyperlinkAction getAction(Hashtable objectTable) {
- if (actionId==null) return null;
- Object obj = objectTable.get(actionId);
- if (obj==null) return null;
- if (obj instanceof HyperlinkAction) return (HyperlinkAction)obj;
- return null;
- }
-
- /*
- public boolean isSelectable() {
- return true;
- }
- */
-
- /*
- * @see IObjectReference#getObjectId()
- */
- public String getObjectId() {
- return actionId;
- }
-
- void setActionId(String id) {
- this.actionId = id;
- }
- public void paint(GC gc, int width, Locator locator, Hashtable objectTable, boolean selected) {
- setColor(settings.getForeground());
- super.paint(gc, width, locator, objectTable, selected);
- }
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.java
deleted file mode 100644
index faa8dbb..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.java
+++ /dev/null
@@ -1,15 +0,0 @@
-
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.graphics.GC;
-import java.util.Hashtable;
-
-public interface IBulletParagraph extends IParagraph {
- int CIRCLE = 0;
- int TEXT = 1;
- int IMAGE = 2;
- public int getBulletStyle();
- public String getBulletText();
-
- public void paintBullet(GC gc, Locator loc, int lineHeight, Hashtable objectTable);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java
deleted file mode 100644
index d3cab0a..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-import java.util.Hashtable;
-import org.eclipse.update.ui.forms.internal.IHyperlinkListener;
-
-/**
- * @version 1.0
- * @author
- */
-public interface IHyperlinkSegment extends ITextSegment, IObjectReference {
- HyperlinkAction getAction(Hashtable objectTable);
-
- boolean contains(int x, int y);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java
deleted file mode 100644
index a1eda98..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-import org.eclipse.swt.graphics.Image;
-import java.util.Hashtable;
-
-/**
- * @version 1.0
- * @author
- */
-public interface IImageSegment extends IParagraphSegment, IObjectReference {
- public static final int TOP = 1;
- public static final int MIDDLE = 2;
- public static final int BOTTOM = 3;
-
- public int getVerticalAlignment();
-
- Image getImage(Hashtable objectTable);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java
deleted file mode 100644
index 88d1c4e..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-/**
- * @version 1.0
- * @author
- */
-public interface IObjectReference {
- public String getObjectId();
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java
deleted file mode 100644
index 4b4883d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-
-import org.eclipse.swt.graphics.GC;
-import java.util.Hashtable;
-
-/**
- * @version 1.0
- * @author
- */
-public interface IParagraph {
- public int getIndent();
- public IParagraphSegment [] getSegments();
- public void addSegment(IParagraphSegment segment);
- public boolean getAddVerticalSpace();
- public void paint(GC gc, int width, Locator loc, int lineHeight, Hashtable objectTable, IHyperlinkSegment selectedLink);
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.java
deleted file mode 100644
index 0587b72..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.graphics.GC;
-import java.util.Hashtable;
-
-/**
- * @version 1.0
- * @author
- */
-public interface IParagraphSegment {
-
- public void advanceLocator(GC gc, int wHint, Locator loc, Hashtable objectTable);
-
- public void paint(GC gc, int width, Locator loc, Hashtable objectTable, boolean selected);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java
deleted file mode 100644
index 0a6d5ba..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * @version 1.0
- * @author
- */
-public interface ITextModel {
- IParagraph [] getParagraphs();
- public void parseTaggedText(String taggedText, boolean expandURLs) throws CoreException;
- public void parseRegularText(String regularText, boolean expandURLs) throws CoreException;
- public void dispose();
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java
deleted file mode 100644
index 42034cc..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.graphics.*;
-
-/**
- * @version 1.0
- * @author
- */
-public interface ITextSegment extends IParagraphSegment {
- String getText();
- Color getColor();
- Font getFont();
- boolean isWordWrapAllowed();
- boolean isSelectable();
- void paintFocus(GC gc, Color bg, Color fg, boolean selected);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java
deleted file mode 100644
index 4fa9c4d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.graphics.*;
-import java.util.Hashtable;
-import org.eclipse.swt.SWT;
-
-/**
- * @version 1.0
- * @author
- */
-public class ImageSegment extends ParagraphSegment implements IImageSegment {
- private int alignment = BOTTOM;
- private String imageId;
-
- public int getVerticalAlignment() {
- return alignment;
- }
-
- void setVerticalAlignment(int alignment) {
- this.alignment = alignment;
- }
-
- public Image getImage(Hashtable objectTable) {
- if (imageId==null) return null;
- Object obj = objectTable.get(imageId);
- if (obj==null) return null;
- if (obj instanceof Image) return (Image)obj;
- return null;
- }
-
- public String getObjectId() {
- return imageId;
- }
-
- void setObjectId(String imageId) {
- this.imageId = imageId;
- }
-
- public void advanceLocator(GC gc, int wHint, Locator loc, Hashtable objectTable) {
- Image image = getImage(objectTable);
- int iwidth = 0;
- int iheight = 0;
- if (image!=null) {
- Rectangle rect = image.getBounds();
- iwidth = rect.width;
- iheight = rect.height;
- }
- if (wHint != SWT.DEFAULT && loc.x + iwidth > wHint) {
- // new line
- loc.x = loc.indent + iwidth;
- loc.width = loc.x;
- loc.y += loc.rowHeight;
- loc.rowHeight = iheight;
- }
- else {
- loc.x += iwidth;
- loc.rowHeight = Math.max(loc.rowHeight, iheight);
- }
- }
-
- public void paint(GC gc, int width, Locator loc, Hashtable objectTable, boolean selected) {
- Image image = getImage(objectTable);
- int iwidth = 0;
- int iheight = 0;
- if (image!=null) {
- Rectangle rect = image.getBounds();
- iwidth = rect.width;
- iheight = rect.height;
- }
- else return;
- loc.width = iwidth;
- loc.height = iheight;
-
- int ix = loc.x;
- int iy = loc.y;
-
- if (ix + iwidth > width) {
- // new row
- ix = loc.indent + loc.marginWidth;
- iy += loc.rowHeight;
- loc.rowHeight = 0;
- }
-
- gc.drawImage(image, ix, iy);
- loc.x = ix + iwidth;
- loc.y = iy;
- loc.rowHeight = Math.max(loc.rowHeight, iheight);
- }
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
deleted file mode 100644
index fb46567..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-/**
- * @version 1.0
- * @author
- */
-public class Locator {
- public int indent;
- public int x, y;
- public int width, height;
- public int rowHeight;
- public int marginWidth;
- public int marginHeight;
-
- public void newLine() {
- resetCaret();
- y += rowHeight;
- rowHeight = 0;
- }
-
- public void resetCaret() {
- x = marginWidth + indent;
- }
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java
deleted file mode 100644
index 6dbffd6..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-import java.util.Vector;
-import java.util.StringTokenizer;
-import org.eclipse.update.ui.forms.internal.HyperlinkSettings;
-import java.util.Hashtable;
-import org.eclipse.swt.graphics.GC;
-
-/**
- * @version 1.0
- * @author
- */
-public class Paragraph implements IParagraph {
- public static final String HTTP = "http://";
- private Vector segments;
- private boolean addVerticalSpace = true;
-
- public Paragraph(boolean addVerticalSpace) {
- this.addVerticalSpace = addVerticalSpace;
- }
-
- public int getIndent() {
- return 0;
- }
-
- public boolean getAddVerticalSpace() {
- return addVerticalSpace;
- }
-
- /*
- * @see IParagraph#getSegments()
- */
- public IParagraphSegment[] getSegments() {
- if (segments == null)
- return new IParagraphSegment[0];
- return (IParagraphSegment[]) segments.toArray(
- new IParagraphSegment[segments.size()]);
- }
-
- public void addSegment(IParagraphSegment segment) {
- if (segments == null)
- segments = new Vector();
- segments.add(segment);
- }
-
- public void parseRegularText(
- String text,
- boolean expandURLs,
- HyperlinkSettings settings,
- String fontId) {
- if (text.length() == 0)
- return;
- if (expandURLs) {
- int loc = text.indexOf(HTTP);
-
- if (loc == -1)
- addSegment(new TextSegment(text, fontId));
- else {
- int textLoc = 0;
- while (loc != -1) {
- addSegment(new TextSegment(text.substring(textLoc, loc), fontId));
- boolean added = false;
- for (textLoc = loc; textLoc < text.length(); textLoc++) {
- char c = text.charAt(textLoc);
- if (Character.isSpaceChar(c)) {
- addHyperlinkSegment(text.substring(loc, textLoc), settings, fontId);
- added = true;
- break;
- }
- }
- if (!added) {
- // there was no space - just end of text
- addHyperlinkSegment(text.substring(loc), settings, fontId);
- break;
- }
- loc = text.indexOf(HTTP, textLoc);
- }
- if (textLoc < text.length()) {
- addSegment(new TextSegment(text.substring(textLoc), fontId));
- }
- }
- } else {
- addSegment(new TextSegment(text, fontId));
- }
- }
-
- private void addHyperlinkSegment(
- String text,
- HyperlinkSettings settings,
- String fontId) {
- HyperlinkSegment hs = new HyperlinkSegment(text, settings, fontId);
- hs.setWordWrapAllowed(false);
- hs.setActionId(FormEngine.URL_HANDLER_ID);
- addSegment(hs);
- }
-
- public void paint(
- GC gc,
- int width,
- Locator loc,
- int lineHeight,
- Hashtable objectTable,
- IHyperlinkSegment selectedLink) {
- IParagraphSegment [] segments = getSegments();
- if (segments.length > 0) {
- if (segments[0] instanceof ITextSegment
- && ((ITextSegment) segments[0]).isSelectable())
- loc.x += 1;
- for (int j = 0; j < segments.length; j++) {
- IParagraphSegment segment = segments[j];
- boolean doSelect = false;
- if (selectedLink != null && segment.equals(selectedLink))
- doSelect = true;
- segment.paint(gc, width, loc, objectTable, doSelect);
- }
- loc.y += loc.rowHeight;
- } else {
- loc.y += lineHeight;
- }
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java
deleted file mode 100644
index 1458bc3..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-/**
- * @version 1.0
- * @author
- */
-public abstract class ParagraphSegment implements IParagraphSegment {
-
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java
deleted file mode 100644
index 2840d5f..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-import java.util.Vector;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.ui.forms.internal.*;
-import org.apache.xerces.parsers.DOMParser;
-import org.xml.sax.*;
-import java.io.*;
-import org.w3c.dom.*;
-import org.eclipse.jface.resource.JFaceResources;
-
-/**
- * @version 1.0
- * @author
- */
-public class TextModel implements ITextModel {
- Vector paragraphs;
- IHyperlinkListener urlListener;
- IHyperlinkSegment[] hyperlinks;
- int selectedLinkIndex = -1;
- HyperlinkSettings hyperlinkSettings;
-
- class LocalHyperlinkSettings extends HyperlinkSettings {
- }
-
- /*
- * @see ITextModel#getParagraphs()
- */
- public IParagraph[] getParagraphs() {
- if (paragraphs == null)
- return new IParagraph[0];
- return (IParagraph[]) paragraphs.toArray(new IParagraph[paragraphs.size()]);
- }
-
- /*
- * @see ITextModel#parse(String)
- */
- public void parseTaggedText(String taggedText, boolean expandURLs)
- throws CoreException {
- try {
- InputStream stream = new ByteArrayInputStream(taggedText.getBytes("UTF8"));
- parseInputStream(stream, expandURLs);
- } catch (UnsupportedEncodingException e) {
- }
- }
-
- public void parseInputStream(InputStream is, boolean expandURLs)
- throws CoreException {
- DOMParser parser = new DOMParser();
- reset();
- try {
- InputSource source = new InputSource(is);
- parser.parse(source);
- /*
- if (errorHandler.getErrorCount()>0 ||
- errorHandler.getFatalErrorCount()>0) {
- throwParseErrorsException();
- */
- processDocument(parser.getDocument(), expandURLs);
- } catch (SAXException e) {
- System.out.println(e);
- } catch (IOException e) {
- }
- }
-
- private void processDocument(Document doc, boolean expandURLs) {
- Node root = doc.getDocumentElement();
- NodeList children = root.getChildNodes();
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.TEXT_NODE) {
- // Make an implicit paragraph
- String text = child.getNodeValue();
- if (text != null && !isIgnorableWhiteSpace(text, true)) {
- Paragraph p = new Paragraph(true);
- p.parseRegularText(text, expandURLs, getHyperlinkSettings(), null);
- paragraphs.add(p);
- }
- } else if (child.getNodeType() == Node.ELEMENT_NODE) {
- String tag = child.getNodeName().toLowerCase();
- if (tag.equals("p")) {
- IParagraph p = processParagraph(child, expandURLs);
- if (p != null)
- paragraphs.add(p);
- }
- else if (tag.equals("li")) {
- IParagraph p = processListItem(child, expandURLs);
- if (p != null)
- paragraphs.add(p);
- }
- }
- }
- }
- private IParagraph processParagraph(Node paragraph, boolean expandURLs) {
- NodeList children = paragraph.getChildNodes();
- NamedNodeMap atts = paragraph.getAttributes();
- Node addSpaceAtt = atts.getNamedItem("addVerticalSpace");
- boolean addSpace = true;
-
- if (addSpaceAtt != null) {
- String value = addSpaceAtt.getNodeValue();
- addSpace = value.equalsIgnoreCase("true");
- }
- Paragraph p = new Paragraph(addSpace);
-
- processSegments(p, children, expandURLs);
- return p;
- }
- private IParagraph processListItem(Node listItem, boolean expandURLs) {
- NodeList children = listItem.getChildNodes();
- NamedNodeMap atts = listItem.getAttributes();
- Node addSpaceAtt = atts.getNamedItem("addVerticalSpace");
- Node styleAtt = atts.getNamedItem("style");
- Node valueAtt = atts.getNamedItem("value");
- Node indentAtt = atts.getNamedItem("indent");
- int style = IBulletParagraph.CIRCLE;
- int indent = -1;
- String text = null;
- boolean addSpace = true;
-
- if (addSpaceAtt != null) {
- String value = addSpaceAtt.getNodeValue();
- addSpace = value.equalsIgnoreCase("true");
- }
- if (styleAtt!=null) {
- String value = styleAtt.getNodeValue();
- if (value.equalsIgnoreCase("text")) {
- style = IBulletParagraph.TEXT;
- }
- else if (value.equalsIgnoreCase("image")) {
- style = IBulletParagraph.IMAGE;
- }
- }
- if (valueAtt!=null) {
- text = valueAtt.getNodeValue();
- }
- if (indentAtt!=null) {
- String value = valueAtt.getNodeValue();
- try {
- indent =Integer.parseInt(value);
- }
- catch (NumberFormatException e) {
- }
- }
-
- BulletParagraph p = new BulletParagraph(addSpace);
- p.setIndent(indent);
- p.setBulletStyle(style);
- p.setBulletText(text);
-
- processSegments(p, children, expandURLs);
- return p;
- }
-
- private void processSegments(
- Paragraph p,
- NodeList children,
- boolean expandURLs) {
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- IParagraphSegment segment = null;
-
- if (child.getNodeType() == Node.TEXT_NODE) {
- String value = child.getNodeValue();
-
- if (value != null && !isIgnorableWhiteSpace(value, false)) {
- p.parseRegularText(value, expandURLs, getHyperlinkSettings(), null);
- }
- } else if (child.getNodeType() == Node.ELEMENT_NODE) {
- String name = child.getNodeName();
- if (name.equalsIgnoreCase("img")) {
- segment = processImageSegment(child);
- } else if (name.equalsIgnoreCase("a")) {
- segment = processHyperlinkSegment(child, getHyperlinkSettings());
- }
- else if (name.equalsIgnoreCase("text")) {
- processTextSegment(p, expandURLs, child);
- }
- else if (name.equalsIgnoreCase("b")) {
- String text = getNodeText(child).trim();
- String fontId = JFaceResources.BANNER_FONT;
- p.parseRegularText(text, expandURLs, getHyperlinkSettings(), fontId);
- }
- }
- if (segment != null) {
- p.addSegment(segment);
- }
- }
- }
-
- private boolean isIgnorableWhiteSpace(String text, boolean ignoreSpaces) {
- for (int i=0; i<text.length(); i++) {
- char c = text.charAt(i);
- if (ignoreSpaces && c== ' ') continue;
- if (c=='\n' || c=='\r' || c=='\f') continue;
- return false;
- }
- return true;
- }
-
- private IParagraphSegment processImageSegment(Node image) {
- ImageSegment segment = new ImageSegment();
- NamedNodeMap atts = image.getAttributes();
- Node id = atts.getNamedItem("href");
- Node align = atts.getNamedItem("align");
- if (id != null) {
- String value = id.getNodeValue();
- segment.setObjectId(value);
- }
- if (align != null) {
- String value = align.getNodeValue().toLowerCase();
- if (value.equals("top"))
- segment.setVerticalAlignment(ImageSegment.TOP);
- else if (value.equals("middle"))
- segment.setVerticalAlignment(ImageSegment.MIDDLE);
- else if (value.equals("bottom"))
- segment.setVerticalAlignment(ImageSegment.BOTTOM);
- }
- return segment;
- }
-
- private String getNodeText(Node node) {
- NodeList children = node.getChildNodes();
- String text = "";
- for (int i = 0; i < children.getLength(); i++) {
- Node child = children.item(i);
- if (child.getNodeType() == Node.TEXT_NODE) {
- text += child.getNodeValue();
- }
- }
- return text;
- }
-
- private IParagraphSegment processHyperlinkSegment(
- Node link,
- HyperlinkSettings settings) {
- String text = getNodeText(link);
- HyperlinkSegment segment = new HyperlinkSegment(text, settings, null);
- NamedNodeMap atts = link.getAttributes();
- Node href = atts.getNamedItem("href");
- if (href != null) {
- String value = href.getNodeValue();
- segment.setActionId(value);
- }
- return segment;
- }
-
- private void processTextSegment(Paragraph p, boolean expandURLs, Node textNode) {
- String text = getNodeText(textNode).trim();
-
- NamedNodeMap atts = textNode.getAttributes();
- Node font = atts.getNamedItem("font");
- String fontId = null;
- if (font != null) {
- fontId = font.getNodeValue();
- }
- p.parseRegularText(text, expandURLs, getHyperlinkSettings(), fontId);
- }
-
- public void parseRegularText(String regularText, boolean convertURLs)
- throws CoreException {
- reset();
-
- Paragraph p = new Paragraph(true);
- paragraphs.add(p);
- int pstart = 0;
-
- for (int i = 0; i < regularText.length(); i++) {
- char c = regularText.charAt(i);
- if (p == null) {
- p = new Paragraph(true);
- paragraphs.add(p);
- }
- if (c == '\n') {
- String text = regularText.substring(pstart, i);
- pstart = i + 1;
- p.parseRegularText(text, convertURLs, getHyperlinkSettings(), null);
- p = null;
- }
- }
- if (p != null) {
- // no new line
- String text = regularText.substring(pstart);
- p.parseRegularText(text, convertURLs, getHyperlinkSettings(), null);
- }
- }
-
- public HyperlinkSettings getHyperlinkSettings() {
- if (hyperlinkSettings == null) {
- hyperlinkSettings = new LocalHyperlinkSettings();
- }
- return hyperlinkSettings;
- }
-
- public void setHyperlinkSettings(HyperlinkSettings settings) {
- this.hyperlinkSettings = settings;
- }
-
- public void setURLListener(IHyperlinkListener urlListener) {
- this.urlListener = urlListener;
- }
-
- private void reset() {
- if (paragraphs == null)
- paragraphs = new Vector();
- paragraphs.clear();
- selectedLinkIndex = -1;
- hyperlinks = null;
- }
-
- IHyperlinkSegment[] getHyperlinks() {
- if (hyperlinks != null || paragraphs == null)
- return hyperlinks;
- Vector result = new Vector();
- for (int i = 0; i < paragraphs.size(); i++) {
- IParagraph p = (IParagraph) paragraphs.get(i);
- IParagraphSegment[] segments = p.getSegments();
- for (int j = 0; j < segments.length; j++) {
- if (segments[j] instanceof IHyperlinkSegment)
- result.add(segments[j]);
- }
- }
- hyperlinks =
- (IHyperlinkSegment[]) result.toArray(new IHyperlinkSegment[result.size()]);
- return hyperlinks;
- }
-
- public IHyperlinkSegment findHyperlinkAt(int x, int y) {
- IHyperlinkSegment[] links = getHyperlinks();
- for (int i = 0; i < links.length; i++) {
- if (links[i].contains(x, y))
- return links[i];
- }
- return null;
- }
-
- public IHyperlinkSegment getSelectedLink() {
- if (selectedLinkIndex == -1)
- return null;
- return hyperlinks[selectedLinkIndex];
- }
-
- public boolean traverseLinks(boolean next) {
- IHyperlinkSegment[] links = getHyperlinks();
- if (links == null)
- return false;
- int size = links.length;
- if (next) {
- selectedLinkIndex++;
- } else
- selectedLinkIndex--;
-
- if (selectedLinkIndex < 0 || selectedLinkIndex > size - 1) {
- selectedLinkIndex = -1;
- }
- return selectedLinkIndex != -1;
- }
-
- public void selectLink(IHyperlinkSegment link) {
- if (link==null) selectedLinkIndex = -1;
- else {
- IHyperlinkSegment[] links = getHyperlinks();
- selectedLinkIndex = -1;
- if (links==null) return;
- for (int i=0; i<links.length; i++) {
- if (links[i].equals(link)) {
- selectedLinkIndex = i;
- break;
- }
- }
- }
- }
-
- public boolean hasFocusSegments() {
- IHyperlinkSegment [] links = getHyperlinks();
- if (links.length>0) return true;
- return true;
- }
-
- public void dispose() {
- if (hyperlinkSettings instanceof LocalHyperlinkSettings)
- hyperlinkSettings.dispose();
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java
deleted file mode 100644
index 0d4ef31..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.jface.resource.JFaceResources;
-import java.util.Hashtable;
-import org.eclipse.swt.SWT;
-import java.text.BreakIterator;
-import java.util.Vector;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @version 1.0
- * @author
- */
-public class TextSegment extends ParagraphSegment implements ITextSegment {
- private Color color;
- private String fontId;
- private String text;
- protected boolean underline;
- private boolean wrapAllowed = true;
- private Vector areaRectangles = new Vector();
-
- public TextSegment(String text, String fontId) {
- this.text = cleanup(text);
- this.fontId = fontId;
- }
-
- private String cleanup(String text) {
- StringBuffer buf = new StringBuffer();
- for (int i = 0; i < text.length(); i++) {
- char c = text.charAt(i);
- if (c == '\n' || c == '\r' || c=='\f') {
- if (i > 0)
- buf.append(' ');
- } else
- buf.append(c);
- }
- return buf.toString();
- }
-
- public void setWordWrapAllowed(boolean value) {
- wrapAllowed = value;
- }
-
- public boolean isWordWrapAllowed() {
- return wrapAllowed;
- }
-
- public boolean isSelectable() {
- return false;
- }
-
- public Color getColor() {
- return color;
- }
-
- public Font getFont() {
- if (fontId == null)
- return JFaceResources.getDefaultFont();
- else
- return JFaceResources.getFontRegistry().get(fontId);
- }
-
- public String getText() {
- return text;
- }
-
- void setText(String text) {
- this.text = cleanup(text);
- }
-
- void setColor(Color color) {
- this.color = color;
- }
-
- void setFontId(String fontId) {
- this.fontId = fontId;
- }
-
- public boolean contains(int x, int y) {
- for (int i = 0; i < areaRectangles.size(); i++) {
- Rectangle ar = (Rectangle) areaRectangles.get(i);
- if (ar.contains(x, y))
- return true;
- }
- return false;
- }
-
- public void advanceLocator(
- GC gc,
- int wHint,
- Locator locator,
- Hashtable objectTable) {
- Font oldFont = null;
- if (fontId != null) {
- oldFont = gc.getFont();
- gc.setFont(getFont());
- }
- FontMetrics fm = gc.getFontMetrics();
- int lineHeight = fm.getHeight();
-
- if (wHint == SWT.DEFAULT || !wrapAllowed) {
- Point extent = gc.textExtent(text);
-
- if (locator.x + extent.x > wHint) {
- // new line
- locator.x = isSelectable()?locator.indent+1:locator.indent;
- locator.y += locator.rowHeight;
- locator.rowHeight = 0;
- }
- int width = extent.x;
- if (isSelectable()) width+=2;
- locator.x += width;
- locator.width = width;
- locator.height = extent.y;
- locator.rowHeight = Math.max(locator.rowHeight, extent.y);
- return;
- }
-
- BreakIterator wb = BreakIterator.getLineInstance();
- wb.setText(text);
-
- int saved = 0;
- int last = 0;
-
- int width = 0;
-
- Point lastExtent = null;
-
- for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {
- String word = text.substring(saved, loc);
- Point extent = gc.textExtent(word);
-
- if (locator.x + extent.x > wHint) {
- // overflow
- String savedWord = text.substring(saved, last);
- if (lastExtent==null)
- lastExtent = gc.textExtent(savedWord);
- int lineWidth = locator.x + lastExtent.x;
- if (isSelectable()) lineWidth+=2;
-
- saved = last;
- locator.rowHeight = Math.max(locator.rowHeight, lastExtent.y);
- locator.x = isSelectable()?locator.indent+1:locator.indent;
- locator.y += locator.rowHeight;
- locator.rowHeight = 0;
- width = Math.max(width, lineWidth);
- }
- last = loc;
- lastExtent = extent;
- }
- String lastString = text.substring(saved, last);
- Point extent = gc.textExtent(lastString);
- int lineWidth = extent.x;
- if (isSelectable()) lineWidth += 2;
- locator.x += lineWidth;
- locator.width = width;
- locator.height = lineHeight;
- locator.rowHeight = Math.max(locator.rowHeight, extent.y);
- if (oldFont != null) {
- gc.setFont(oldFont);
- }
- }
-
- public void paint(
- GC gc,
- int width,
- Locator locator,
- Hashtable objectTable,
- boolean selected) {
- Font oldFont = null;
- Color oldColor = null;
-
- areaRectangles.clear();
-
- if (fontId != null) {
- oldFont = gc.getFont();
- gc.setFont(getFont());
- }
- if (color != null) {
- oldColor = gc.getForeground();
- gc.setForeground(color);
- }
- FontMetrics fm = gc.getFontMetrics();
- int lineHeight = fm.getHeight();
- int descent = fm.getDescent();
-
- if (!wrapAllowed) {
- Point extent = gc.textExtent(text);
- int ewidth = extent.x;
- if (isSelectable()) ewidth += 2;
-
- if (locator.x + ewidth > width) {
- // new line
- locator.resetCaret();
- if (isSelectable()) locator.x += 1;
- locator.y += locator.rowHeight;
- locator.rowHeight = 0;
- }
- gc.drawString(text, locator.x, locator.y);
- if (underline) {
- int lineY = locator.y + lineHeight - descent + 1;
- gc.drawLine(locator.x, lineY, locator.x + extent.x, lineY);
- }
- Rectangle br =
- new Rectangle(locator.x - 1, locator.y, extent.x + 2, lineHeight - descent + 3);
- areaRectangles.add(br);
- if (selected) {
- if (color != null)
- gc.setForeground(oldColor);
- gc.drawFocus(br.x, br.y, br.width, br.height);
- }
-
- locator.x += ewidth;
- locator.width = ewidth;
- locator.height = lineHeight;
- locator.rowHeight = Math.max(locator.rowHeight, extent.y);
- if (oldFont != null) {
- gc.setFont(oldFont);
- }
- if (oldColor != null) {
- gc.setForeground(oldColor);
- }
- return;
- }
-
- BreakIterator wb = BreakIterator.getLineInstance();
- wb.setText(text);
-
- int saved = 0;
- int last = 0;
-
- for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {
- if (loc == 0)
- continue;
- String word = text.substring(saved, loc);
- Point extent = gc.textExtent(word);
- int ewidth = extent.x;
- if (isSelectable()) ewidth += 2;
-
- if (locator.x + ewidth > width) {
- // overflow
- String prevLine = text.substring(saved, last);
- gc.drawString(prevLine, locator.x, locator.y, true);
- Point prevExtent = gc.textExtent(prevLine);
- int prevWidth = prevExtent.x;
- if (isSelectable()) prevWidth += 2;
-
- if (underline) {
- int lineY = locator.y + lineHeight - descent + 1;
- gc.drawLine(locator.x, lineY, locator.x + prevWidth, lineY);
- }
- Rectangle br =
- new Rectangle(
- locator.x - 1,
- locator.y,
- prevExtent.x + 2,
- lineHeight - descent + 3);
- if (selected) {
- if (color != null)
- gc.setForeground(oldColor);
- gc.drawFocus(br.x, br.y, br.width, br.height);
- if (color != null)
- gc.setForeground(color);
- }
- areaRectangles.add(br);
- locator.rowHeight = Math.max(locator.rowHeight, prevExtent.y);
- locator.resetCaret();
- if (isSelectable()) locator.x +=1;
- locator.y += locator.rowHeight;
- locator.rowHeight = 0;
- saved = last;
- }
- last = loc;
- }
- // paint the last line
- String lastLine = text.substring(saved, last);
- gc.drawString(lastLine, locator.x, locator.y, true);
- Point lastExtent = gc.textExtent(lastLine);
- int lastWidth = lastExtent.x;
- if (isSelectable()) lastWidth += 2;
- Rectangle br =
- new Rectangle(
- locator.x - 1,
- locator.y,
- lastExtent.x + 2,
- lineHeight - descent + 3);
- areaRectangles.add(br);
- if (underline) {
- int lineY = locator.y + lineHeight - descent + 1;
- gc.drawLine(locator.x, lineY, locator.x + lastExtent.x, lineY);
- }
- if (selected) {
- if (color != null)
- gc.setForeground(oldColor);
- gc.drawFocus(br.x, br.y, br.width, br.height);
- }
- locator.x += lastWidth;
- locator.rowHeight = Math.max(locator.rowHeight, lastExtent.y);
- if (oldFont != null) {
- gc.setFont(oldFont);
- }
- if (oldColor != null) {
- gc.setForeground(oldColor);
- }
- }
-
- public void paintFocus(GC gc, Color bg, Color fg, boolean selected) {
- if (areaRectangles==null) return;
- for (int i=0; i<areaRectangles.size(); i++) {
- Rectangle br = (Rectangle)areaRectangles.get(i);
- if (selected) {
- gc.setBackground(bg);
- gc.setForeground(fg);
- gc.drawFocus(br.x, br.y, br.width, br.height);
- }
- else {
- gc.setForeground(bg);
- gc.drawRectangle(br.x, br.y, br.width-1, br.height-1);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml
deleted file mode 100644
index 3d04923..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<form>
-<p>
-To check for updates for features you have installed,
-go to the <a href="action1">My Eclipse</a> and select
-<b>Available Updates</b> folder. <b>Search page</b> will
-be shown allowing you to initiate and customize the search.
-</p>
-<li style="text" value="1.">To check for updates for features you have installed,
-go to the <a href="action1">My Eclipse</a> and select
-<b>Available Updates</b> folder. <b>Search page</b> will
-be shown allowing you to initiate and customize the search.</li>
-<li style="text" value="2.">This is the item number 2.</li>
-<li style="text" value="3.">This is the item number 3.</li>
-</form>
\ 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 853ce47..0000000
--- a/update/org.eclipse.update.ui/.vcm_meta
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-description>
- <nature id="org.eclipse.jdt.core.javanature"/>
- <nature id="org.eclipse.pde.ui.PluginNature"/>
- <reference project-name="org.apache.xerces"/>
- <reference project-name="org.eclipse.core.boot"/>
- <reference project-name="org.eclipse.core.resources"/>
- <reference project-name="org.eclipse.core.runtime"/>
- <reference project-name="org.eclipse.ui"/>
- <reference project-name="org.eclipse.update.core"/>
- <reference project-name="org.eclipse.update.ui.forms"/>
- <builder name="org.eclipse.jdt.core.javabuilder">
- </builder>
- <builder name="org.eclipse.pde.ui.ManifestBuilder">
- </builder>
- <builder name="org.eclipse.pde.ui.SchemaBuilder">
- </builder>
-</project-description>
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, "Program" 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)>0) && (compare(y, z)>0))</tt> implies
- * <tt>compare(x, z)>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